过滤多个数据

时间:2013-11-28 12:44:35

标签: mysql

我有两个表,第一个表称为“提交”,第二个表称为“区域”

********  SUBMISSIONS TABLE  ********
userid  statusid  no      name    area    month    year    dateupdated
62      2         763     ABCD    Brazil      6    2013    2013-11-26 15:28
62      1         869     ABC     Brazil      7    2012    2013-11-26 15:10
62      2         869     ABC     Brazil      6    2013    2013-11-26 15:28
62      1         869     ABC     Brazil      6    2013    2013-11-26 14:50
61      1         763     ABCD    Brazil      6    2013    2013-11-26 14:50
54      1         200     ABCDE   US         12    2013    2013-11-26 21:02
32      2         200     ABCDE   US         12    2013    2013-11-26 21:03

******* AREA TABLE ********
  no      name    area     
  763     ABCD    Brazil  
  869     ABC     Brazil  
  869     ABC     Brazil  
  869     ABC     Brazil  
  763     ABCD    Brazil  
  200     ABCDE   US      
  200     ABCDE   US   

我正在尝试实现以下功能:用户通过下拉列表选择区域,月份和年份(SELECT)。一旦他们选择了3个字段,就会显示过滤后的数据。

我希望根据过滤的字段显示选择,但也显示该特定区域中没有数据的所有其他记录。几乎像一个出色的报告..示例下面:

userid  statusid  no      name    area    month    year    dateupdated
62      2         763     ABCD    Brazil      6    2013    2013-11-26 15:28
62      1         869     ABC     Brazil      7    2012    2013-11-26 15:10
62      2         869     ABC     Brazil      6    2013    2013-11-26 15:28
62      1         869     ABC     Brazil      
61      1         763     ABCD    Brazil      
54      1         200     ABCDE   US        
32      2         200     ABCDE   US         

有谁知道我怎么能做到这一点?请协助。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

SELECT userid , statusid,  a.no  , a.name ,   a.area   , month ,   year ,   dateupdated 
FROM submission s 
LEFT OUTER JOIN area a 
ON s.no = a.no 
WHERE month = 12 AND 
year = 2013 AND
a.area = 'US'

SQLFIDDLE

相关问题