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