簡體   English   中英

一個表為空或不為空時選擇兩個表

[英]Select two tables when one table is empty or not empty

我一直堅持弄清楚我的查詢出了什么問題。 我選擇表'acara'和表'eventorg',如果表'acara'未找到或為空,表'eventorg'不想顯示,但是如果表'acara'不為空或找到,表'eventorg'和表'會出現

這是我的查詢

SELECT 
  eventorg.nama as NamaEO,
  eventorg.deskripsi as DeskEO,
  eventorg.logo as LogoEO,
  eventorg.email as EmailEO,
  eventorg.telp as TelpEO,
  acara.nama as NamaEvent,    
  acara.id_acara,
  acara.tanggal,
  acara.deskripsi,
  acara.lokasi
FROM eventorg 
LEFT JOIN acara 
ON acara.id_eo=eventorg.id_eo AND eventorg.id_eo='$ideventO';

表'eventorg'中的'id_eo'是主鍵,表'acara'中的'id_eo'是外鍵

如果你想選擇的每一行eventorg無論在相應的記錄是否acara存在,那么你需要一個RIGHT JOIN,而不是一個LEFT JOIN(或反轉表的FROM和LEFT JOIN子句)。

正如Matthew在評論中提到的那樣,Jeff Atwood的維恩圖是可視化它的好方法: http : //blog.codinghorror.com/a-visual-explanation-of-sql-joins/

暫無
暫無

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

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