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

在my
PSHostess
中,我想选择字段
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