1

だから私はいくつかのテーブルを持っています。街:

CI_ID | City
1     | Aberdeen
2     | Abingdon

国:

CO_ID | Country
1     | United States of America
2     | Australia

州:

PR_ID | Province
1     | Alabama
2     | South Dakota

City_Province

CI_ID | PR_ID
1     | 2
2     | NULL

City_Country

CI_ID | CO_ID
1     | 1
2     | 2

そして、ビューを作成することで、

CI_ID | City     | Province     | Country
1     | Aberdeen | South Dakota | United States of America
2     | Abingdon | NULL         | Australia

そして、私はクエリを理解することができません。

4

1 に答える 1

1

JOIN5つLEFT JOINのテーブルですが、次のProvinceようなテーブルです。

ビューの作成:

CREATE VIEW AllData
AS
SELECT
  c.CI_ID, 
  c.city,
  p.Province,
  co.Country     
FROM City c
INNER JOIN City_Province cp ON c.CI_ID = cp.CI_ID
INNER JOIN City_Country cc ON cc.CI_ID = c.CI_ID
INNER JOIN Country co ON cc.CO_ID = co.CO_ID 
LEFT JOIN Province p ON p.PR_ID  = cp.PR_ID;

次に、そのビューから選択するときはいつでも、通常のテーブルと同じようにビューから選択できます。

SELECT * FROM AllData

これはあなたに与えるでしょう:

| CI_ID |     CITY |     PROVINCE |                  COUNTRY |
--------------------------------------------------------------
|     1 | Aberdeen | South Dakota | United States of America |
|     2 | Abingdon |       (null) |                Australia |

SQLフィドルデモ

詳細については:

于 2013-01-20T11:30:10.103 に答える