3 つのリレーションを結合するクエリがあります....A、B &。結合は一意の ID で行われます。テーブル B には互いに類似した行が含まれており、テーブル B の FK 列 (A からの PK) で DISTINCT を実行したいと考えています。
これをより明確にするために:
A B C
--------- --------- ---------
No. (PK) Id(PK) Id (PK)
Name Role Address
No.(FK) No.(FK)
テーブル B には、テーブル A からの人物の複数のインスタンスを含めることができます。No. フィールドで結合された A、B、C からフィールドを取得するクエリが必要です。テーブル B には、No. 列に同じ値を持つ複数の行が含まれている可能性があるため、No. 列で DISTINCT を実行したいと考えています。
これどうやってするの?
サンプルデータ:
NAME ROLE ADDRESS
---------------------------------------
John Smith Manager 1, The Village
Dawn French Secretary 2, The City
John Smith SQL Dev 1, The Village
Terry Tibbs HR Manager 8, The Road
これはリレーション A、B、C の結合の例です。
SELECT A.Name, B.Role, C.Address
FROM A, B, C
WHERE A.No = B.No AND B.No = C.No
テーブル B には、複数の役割を持つ複数のジョン スミス (同一人物) が含まれる可能性があります。したがって、個人を一意に識別する No. に対して DISTINCT を実行したいと考えています。これは、表 A (No.) の ePK です。