簡體   English   中英

完全外部連接-MySQL

[英]FULL OUTER JOIN - 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個字段,就會顯示過濾后的數據。

我想要達到的目標:

我希望記錄按照上面的SELECTS顯示(目前可以正常運行),我也想顯示“面積”表中的所有記錄,而“提交”表中沒有數據。 我所需的輸出示例如下:

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      
                  763     ABCD    Brazil      
                  200     ABCDE   US        
                  200     ABCDE   US

在摘要中,我需要將所選記錄顯示為SELECTS,還需要顯示區域表中的所有記錄。

您可以在此處使用左外部聯接。 基本上,您想從區域表中選擇所有記錄,並從提交表中選擇匹配的行。

查詢看起來像-

select sb.userid, sb.statusid, a.no, 
       a.name, sb.area, sb.month, 
       sb.year, sb.dateupdates 
  from area a left outer join submission sb
    on (a.no = sb.no)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM