1

tableaのレコードに関連するテーブルからレコードを検索していますtableb
in 関数を使用して、レコード 1 に関連するレコードIN (1)を検索します。括弧内の値がコンマ区切りのリストになる可能性があるため、in 関数を使用します。tableatablebIN

ここで同じことをしなければなりませんが、レコードは特定のレコードだけでなく、tableaすべてのレコードに関連している必要があります。tablebIN

これを行う代わりに、どの機能を使用できINますか?

これが私のクエリです:

SELECT * 
FROM tablea 
    JOIN tablec ON tablea.id = tablec.id_local 
    JOIN tableb ON tablec.id_foreign = tableb.id 
WHERE 
    tablea.lang IN ( 0 ) 
AND tablea.page >=1 
AND tablea.page IN ( 8, 9, 10, 11 ) 
AND tableb.id = 5 
ORDER BY tablea.datetime DESC

上記の作品、

レコードは複数のレコードに関連付けることができるため、複数にtableb.idなる可能性があります。tableatableb

SELECT *
FROM tablea
JOIN tablec ON tablea.id = tablec.id_local
JOIN tableb ON tablec.id_foreign = tableb.id
WHERE
    tablea.lang IN ( 0 )
AND tablea.page >=1
AND tablea.page
IN ( 8, 9, 10, 11 )
AND tableb.id IN (5,6,7)
ORDER BY tablea.datetime DESC 

この種の作品。tablea任意のレコード (5、6、7) に関連するレコードを検索しますが、すべてのレコード (5、6、および 7) に関連するレコードをtableb検索するように SQL を変更するにはどうすればよいですか?tableatableb

4

1 に答える 1

0

フィールド名について言及しなかったのでrelatedfield、2 つのテーブル間で相関するフィールド名として使用しています。

SELECT *  
FROM tablea 
    JOIN tableb ON (tablea.relatedfield = tableb.relatedfield)
于 2012-06-12T13:17:17.523 に答える