[英]sql query for returning a certain column from a table
我有兩張表,我必須查詢才能得到一個結果,即喜歡紅頭發角色的角色
表格1:
Characters
identification alias hair
22 Luke Skywalker blond
23 Han Solo brown
24 Leia Skywalker black
25 Mara Jade red
表 2:
loves
identification CharacterA_identification CharacterB_identification
31 22 25
32 23 24
第二個表格表示哪個角色喜歡哪個其他角色,例如盧克·天行者,id 為 22,喜歡 Mara Jade,id 為 25
我想編寫一個查詢,當且僅當 CharacterB 有紅頭發時,才返回 CharacterA 喜歡 CharacterB 的所有結果。
這是我的查詢,但它只給了我紅頭發的人,而不是喜歡紅頭發的人。-->
select C.alias
from Characters C JOIN Loves L1 JOIN Loves L2
on C.identification = L1.CharacterA_identification
AND C.identification = L2.CharacterB_identification
AND C.hair = 'red'
select C.alias
from Characters C
where exists (
select 1 from loves L INNER JOIN Characters ch
on l.CharacterB_identification=ch.identification
where ch. hair = 'red'
and l.CharacterA_identification =c.identification
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.