簡體   English   中英

sql 查詢用於從表中返回某個列

[英]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.

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