特定のレベル、つまり他のテーブルにどの企業が既にデータを実装しているかを確認するクエリを作成する必要があります。SQLリンクされたデータが存在するかどうかを調べる
今のところ私はどの企業にリンクされているアドレスがあるかチェックする必要があります。
私は次のようにリンクされている必要がありますテーブル:(establishmentIdを通じて設立とリンク)
- 会社
- 設立(企業IDを通じて会社とリンク)
- 住所
Iすでに企業のデータが事業所レベルで実装されているかどうかを確認するクエリを作成しました。このクエリを貼り付けたのは、
0123です私はすでに以下のペーストを試していますが、システムにチェックインすると結果が正しく表示されません。
SELECT c.id as 'Company Id',
CASE a.establishmentID WHEN e.ID THEN 1 ELSE 0 END as 'AdressesImplementation'
FROM company c JOIN establishment e ON c.Id = e.companyId
LEFT JOIN address a ON e.Id = a.establishmentId
アドレスレベルでデータが実装されているかどうかを正確に示すすべての企業のリストを取得するにはどうすればよいですか?
EDIT
私はこの質問はこの1つに非常に似て理解:住所で利用できるsql join which tells me if ID exists in other table
しかし、この場合には、私が持っていない必要がFK(企業ID)表。
私は、私はそれがよりこのような(ここで、A =社、B =設立、C =アドレス)になります使用しているフォーマットに他の質問から例を変換する場合:
A B C
-- --------- ----------
ID ID | FKID ID | FKID
-- ---|----- ----|------
1 9 | 3 10 | 8
2 8 | 3 11 | 8
3 7 | 4 12 | 9
4 6 | 4 13 | 9
そして、結果はこのようになります:
-----------------
ID | hasB | hasC
-----------------
1 no no
2 no no
3 yes yes
4 yes no
IDが他のテーブルに存在するかどうかを知らせる[sql join]の重複可能性があります。(http://stackoverflow.com/questions/8418462/sql-join-which-tells-me-if-id-exists-in-他のテーブル) –