Php mysql在where子句中从具有不同日期的同一个表中两次选择一列

Php mysql在where子句中从具有不同日期的同一个表中两次选择一列,php,mysql,Php,Mysql,我有两个sql查询,我想将它们合并到一个sql查询中,并显示在一个表上: SELECT subname,subscribers as sub1 FROM reports_subreport where country ='1' and mp='0' and date ='2013-10-15' and NOT(subname LIKE '%Test%') order by site,subname SELECT subscribers as sub2 FROM reports_subre

我有两个sql查询,我想将它们合并到一个sql查询中,并显示在一个表上:

SELECT subname,subscribers as sub1 FROM reports_subreport where  country ='1' and mp='0' and date ='2013-10-15' and NOT(subname LIKE '%Test%')  order by site,subname


SELECT subscribers as sub2 FROM reports_subreport where country ='1' and mp='0' and date ='2013-10-08' and NOT(subname LIKE '%Test%')  order by site,subname
应在表格中显示如下内容:

subnamesub1sub2

耳鼻喉科222202


你能帮我一下吗,因为我是mysql和php新手?

请告诉我们这是否有效

SELECT `subname`, CASE WHEN `date`='2013-10-15' THEN `subscribers` ELSE 'NONE' `s1` , CASE WHEN `date`='2013-10-08' THEN `subscribers` ELSE 'NONE' `s2`
WHERE `country` ='1' AND `mp`='0' AND NOT(`subname` LIKE '%Test%') ORDER BY `site`,`subname`

让我们知道这是否有效

SELECT `subname`, CASE WHEN `date`='2013-10-15' THEN `subscribers` ELSE 'NONE' `s1` , CASE WHEN `date`='2013-10-08' THEN `subscribers` ELSE 'NONE' `s2`
WHERE `country` ='1' AND `mp`='0' AND NOT(`subname` LIKE '%Test%') ORDER BY `site`,`subname`

已经给出了一些更好、更专业的答案,但这一个最适合理解正在发生的事情

SELECT subname, 

    (SELECT subscribers 
     FROM reports_subreport 
     WHERE country ='1' AND mp='0' 
     AND date ='2013-10-15' 
     AND NOT(subname LIKE '%Test%') 
     ORDER BY site,subname LIMIT 1) AS sub1,

    (SELECT subscribers 
     FROM reports_subreport 
     WHERE country ='1' AND mp='0' 
     AND date ='2013-10-08' 
     AND NOT(subname LIKE '%Test%') 
     ORDER BY site,subname LIMIT 1) AS sub2,

FROM reports_subreport WHERE country ='1' AND mp='0' 
AND date ='2013-10-15' AND NOT(subname LIKE '%Test%') 
ORDER BY site,subname

已经给出了一些更好、更专业的答案,但这一个最适合理解正在发生的事情

SELECT subname, 

    (SELECT subscribers 
     FROM reports_subreport 
     WHERE country ='1' AND mp='0' 
     AND date ='2013-10-15' 
     AND NOT(subname LIKE '%Test%') 
     ORDER BY site,subname LIMIT 1) AS sub1,

    (SELECT subscribers 
     FROM reports_subreport 
     WHERE country ='1' AND mp='0' 
     AND date ='2013-10-08' 
     AND NOT(subname LIKE '%Test%') 
     ORDER BY site,subname LIMIT 1) AS sub2,

FROM reports_subreport WHERE country ='1' AND mp='0' 
AND date ='2013-10-15' AND NOT(subname LIKE '%Test%') 
ORDER BY site,subname

您可以在列选择中使用简单的
IF

SELECT
  subname,
  if(date ='2013-10-15', subscribers) as sub1,
  if(date ='2013-10-08', subscribers) as sub2
FROM reports_subreport
WHERE country ='1' and mp='0' and date IN ('2013-10-15','2013-10-08') and NOT(subname LIKE '%Test%')  order by site,subname

您可以在列选择中使用简单的
IF

SELECT
  subname,
  if(date ='2013-10-15', subscribers) as sub1,
  if(date ='2013-10-08', subscribers) as sub2
FROM reports_subreport
WHERE country ='1' and mp='0' and date IN ('2013-10-15','2013-10-08') and NOT(subname LIKE '%Test%')  order by site,subname