Mysql 选择内部联接只返回一个结果
从数据库中的两个表中选择某些数据时遇到问题 这些表是Mysql 选择内部联接只返回一个结果,mysql,sql,database,Mysql,Sql,Database,从数据库中的两个表中选择某些数据时遇到问题 这些表是psthostess和psttoduit 在myPSHostess中,我想选择字段code和Name 在myPSTODO uit中,我要选择: PB之和=1 PG之和=1 PA之和=1 h.GoedkuringdoorNew的总和=GF h.GoedkuringdoorNew的总和=SB h.GoedkuringdoorNew的总和=通过 h.Blanco之和 这是我的疑问: SELECT p.Code, p.Name, sum(h.PB
psthostess
和psttoduit
在myPSHostess
中,我想选择字段code
和Name
在my
PSTODO uit
中,我要选择:
- PB之和=1
- PG之和=1
- PA之和=1
- h.GoedkuringdoorNew的总和=GF
- h.GoedkuringdoorNew的总和=SB
- h.GoedkuringdoorNew的总和=通过
- h.Blanco之和
SELECT p.Code, p.Name, sum(h.PB = 1), sum(h.PG = 1), sum(h.PA = 1),
sum(h.GoedkeuringDoorNew = 'GF'), sum(h.GoedkeuringDoorNew = 'SB'),
sum(h.GoedkeuringDoorNew = 'VIA'), sum(h.Blanco)
FROM psthostess p
INNER JOIN `psttodo-uit` h ON h.`Hostess Code` = p.Code
WHERE p.Indienst = 1
问题是我总是得到一行的结果。但是在
pshostess
中有多行Indienst=1
(其中)。如何修复此问题?您需要按非聚合列对其进行分组
SELECT p.Code, p.Name, sum(h.PB = 1),
sum(h.PG = 1), sum(h.PA = 1), sum(h.GoedkeuringDoorNew = 'GF'),
sum(h.GoedkeuringDoorNew = 'SB'), sum(h.GoedkeuringDoorNew = 'VIA'), sum(h.Blanco)
FROM psthostess p
INNER JOIN `psttodo-uit` h ON h.`Hostess Code` = p.Code
WHERE p.Indienst = 1
group by p.Code, p.Name
您需要按非聚合列对其进行分组
SELECT p.Code, p.Name, sum(h.PB = 1),
sum(h.PG = 1), sum(h.PA = 1), sum(h.GoedkeuringDoorNew = 'GF'),
sum(h.GoedkeuringDoorNew = 'SB'), sum(h.GoedkeuringDoorNew = 'VIA'), sum(h.Blanco)
FROM psthostess p
INNER JOIN `psttodo-uit` h ON h.`Hostess Code` = p.Code
WHERE p.Indienst = 1
group by p.Code, p.Name
您需要按非聚合列对其进行分组
SELECT p.Code, p.Name, sum(h.PB = 1),
sum(h.PG = 1), sum(h.PA = 1), sum(h.GoedkeuringDoorNew = 'GF'),
sum(h.GoedkeuringDoorNew = 'SB'), sum(h.GoedkeuringDoorNew = 'VIA'), sum(h.Blanco)
FROM psthostess p
INNER JOIN `psttodo-uit` h ON h.`Hostess Code` = p.Code
WHERE p.Indienst = 1
group by p.Code, p.Name
您需要按非聚合列对其进行分组
SELECT p.Code, p.Name, sum(h.PB = 1),
sum(h.PG = 1), sum(h.PA = 1), sum(h.GoedkeuringDoorNew = 'GF'),
sum(h.GoedkeuringDoorNew = 'SB'), sum(h.GoedkeuringDoorNew = 'VIA'), sum(h.Blanco)
FROM psthostess p
INNER JOIN `psttodo-uit` h ON h.`Hostess Code` = p.Code
WHERE p.Indienst = 1
group by p.Code, p.Name