簡體   English   中英

SQL查詢-左聯接還是聯合?

[英]SQL Query - Left Join or Union?

如何編寫SQL查詢以找出組ID是什么,然后顯示該組ID中的選項列表。

我可以通過兩個查詢來做到這一點,例如:

//Get the group ID 
SELECT option_group_id FROM options WHERE id =14122

//Now get a list of OptionID from that group ID
SELECT id, name FROM options WHERE option_group_id = 999

如何將其放入1個查詢中?

您可以使用子查詢來檢索組的ID:

select  id
,       name
from    options
where   option_group_id = 
        (
        select  option_group_id
        from    options
        where   id = 14122
        )

基本上:

  • 如果您想要更多列=>加入
  • 如果您想要更多的行=>聯合

在這種情況下:

SELECT toGetData.id
     , toGetData.name
  FROM options toGetId
  join options toGetData on toGetData.option_group_id = toGetId.option_group_id
 wHERE toGetId.id = 14122

都不行 您對同一張表使用內部聯接:

select o2.id, o2.name
from options o1
inner join options o2 on o2.option_group_id = o1.option_group_id
where o1.id = 14122

暫無
暫無

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

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