繁体   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