JOINの特定の順序を作りたい
SELECT *
FROM (lives_in as t1 NATURAL JOIN preferences p1) l1
JOIN (lives_in t2 NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid
エラーを返します。
誰でも助けることができますか?どうもありがとう!
エイリアス化されたクエリにSELECT
句がないため、これを試してください。
SELECT *
FROM (
select * -- added this
FROM lives_in as t1
NATURAL JOIN preferences p1) l1
JOIN (
select * -- added this
FROM lives_in t2
NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid
役立つことを願っています。
SELECT *
FROM (
select * from lives_in as t1 NATURAL JOIN preferences p1
) l1
JOIN (
select * from lives_in t2 NATURAL JOIN preferences p2
) l2
ON l1.dormid = l2.dormid
結合の順序は結果には関係ありません。おそらく次のようなものが必要です。
SELECT *
FROM lives_in t1
NATURAL JOIN preferences p1 ON p1.some_id = t1.id
NATURAL JOIN preferences p2 ON p2.some_id = t1.id
また、ほとんどの人はそれを NATURAL JOIN ではなく INNER JOIN と呼んでいます。