この問題を解決するのが難しいです。私はMicrosoft SQL Server 2014(バージョン12.0.4100.1)を使用しています。SQL Server:その行が見つかったIN値を取得
私は2つのテーブルcontacts
とbusiness
を持っています。連絡先ユーザー名の配列があります。
SELECT business.id, business.name, business.notes
FROM business
WHERE business.id IN (SELECT contacts.business_id
FROM contacts
WHERE contacts.username IN ('username1', 'username2', 'username3'))
このクエリが正常に機能しているが、私はまたのためにすべての値を選択する方法を見つけ出すことはできません。私はこのように、WHERE
のサブクエリで、このユーザ名の配列からビジネスリストを取得しています行が見つかりました。例えば:、私はすべてのビジネスを来た何の接触から簡単に見ることができる結果を取得
business.id = 1
business.name = 'Business 1'
business.notes = 'Notes from business 1.'
contacts.username = 'username1'
:私は、ユーザー名「USERNAME1」との接触からビジネスをフェッチする場合、私はそれを取得し、その結果を見てみたいです。
ありがとうございます!
編集:ビジネスごとに複数の連絡先がある可能性があるので、INNER JOIN
を実行すると、連絡先ごとに重複したビジネス結果が返されます。サブクエリで選択された連絡先が正確にわかっています。
'INNER JOIN'一般的なビジネスIDの' contacts'テーブル。 –
ビジネスごとに複数の連絡先が存在する可能性があるので、「INNER JOIN」を実行すると、連絡先ごとに重複したビジネス結果が返されます。サブクエリで選択された連絡先が正確にわかっています。 – devrique
おっと、ごめんなさい!その方法は結果を繰り返すことではありません、ありがとう! – devrique