私はサービスとサイトの2つのテーブルを持っています.1つの行に複数の行が存在する可能性がある1対多の関係があります。存在するLEFT JOINを持つIsuue
いくつかのIDが複数回使用されるサイトテーブルを取得しています。今私はこのサイトのサービスからすべての行をフェッチしたいと思います。
SERVICE Table{id}
SITE Table{id,svcId(from SERVICE Table),siteid}
SELECT *
FROM SERVICE
WHERE EXISTS(
SELECT * FROM SITE WHERE (siteid='3' or siteid='4') AND id IN (
SELECT id FROM SITE GROUP BY id HAVING count(*) > 1
))
選択クエリは、内部の私よりsiteid
3および4と何度も持つすべての行をフェッチ存在しますが、クエリ全体は私にSERVICE TABLE
からすべての行をフェッチしています。私はMatching IDを持つ行だけを期待していました。
サンプルデータと予想される結果を適切に提供します。 –
'service'テーブルはどのように' site'テーブルに関連していますか?サブクエリは外部テーブルからの任意の列による外部クエリと相関しないので、常に 'service'テーブルからすべての行またはすべての行を与えます。 – krokodilko