0
Ich habe zwei Tabellen employee_info und Teilnahme:Mitglied werden zwei Tabellen Teilnahme und Benutzernamen zu bekommen mysql
CREATE TABLE IF NOT EXISTS `employee_info` (
`emp_id` varchar(20) NOT NULL,
`emp_name` varchar(30) NOT NULL,
`emp_contact` varchar(30) NOT NULL,
`com_address` varchar(30) NOT NULL,
`per_address` varchar(30) NOT NULL,
`com_phone` varchar(13) NOT NULL,
`com_email` varchar(20) NOT NULL,
`empid` int(20) NOT NULL,
`emp_company` varchar(20) NOT NULL,
`emp_branch` varchar(20) NOT NULL,
`emp_dept` varchar(20) NOT NULL,
`emp_designation` varchar(20) NOT NULL,
`emp_salary` varchar(30) NOT NULL,
`emp_type` varchar(10) NOT NULL,
`last_updated` date NOT NULL,
`active` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `attendance` (
`id` int(11) NOT NULL,
`company` varchar(20) NOT NULL,
`branch` varchar(55) NOT NULL,
`dept` varchar(100) NOT NULL,
`employee_id` varchar(255) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` varchar(12) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
i total total anwesend und abwesend Zählung mit dieser Abfrage erhalten:
select employee_id
,count(case when status =1 then 1 end) as absent_count
,count(case when status =2 then 1 end) as present_count
,count(distinct time) as Tot_count
from attendance where time between '2014-01-01' and '2016-04-12'
group by employee_id
wie kann ich verbinde diese beiden Tabellen, um den emp_name ???
i bearbeitet es als meine Anforderung und es works.thank you.select employee_id, emp_name, count (Fall, wenn Status = 1, dann 1 Ende) als absent_count, count (Fall, wenn Status = 2 dann 1 Ende) als present_count, count (distinct time) als Tot_count von der Teilnahme beitreten employee_info bei anwesenheit.employee_id = employee_info.empid wo die Zeit zwischen '2014-01-01' und '2016-04-13' Gruppe von employee_id – Jannat
Sie sind herzlich willkommen :) – KnowHoper
Kann ich bitte eine andere Hilfe bitten ?? – Jannat