簡體   English   中英

同一表上的SQL子查詢

[英]SQL subquery on same table

我認為我追求的只是基本知識,但是到目前為止,我還無法通過實驗獲得預期的結果。

我在一張表上操作,其中一個已知行的值確定選擇同一張表中的其他行。

為了說明我在兩個查詢中想要的內容:

SELECT id, gender, sport, age
    FROM 
        person 
    WHERE 
       id = '123';

-- using id, gender, sport and age as inputs into the next query
SELECT id, age, sport, gender 
    FROM 
        person 
    WHERE 
       id != $1 AND looking_for_gender = $2 AND looking_for_sport = $3 AND min_age <= $4;

我一直嘗試在from子句中嘗試各種不同的聯接和子查詢,但無法從單個查詢中獲得令人滿意的結果來獲得相同的結果。

在此先感謝您的指導。

您可以通過聯接執行此操作:

SELECT p.id, p.age, p.sport, p.gender 
FROM person p cross join
     (select * from person where id  = 123
     ) p1
WHERE p.id <> p1.id AND p.looking_for_gender = p1.looking_for_gender AND
      p.looking_for_sport = p1.looking_for_sport AND p.min_age <= p1.min_age;

暫無
暫無

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

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