我有表:顯示不同的表的數據
第一表 - Staff
:
------------------------------------
| person_id | name | studio_id |
|-----------|----------|-----------|
| 1 | Bill | 1 |
| 2 | Kate | 1 |
------------------------------------
第二表 - Studio
:
-----------------------------
| studio_id | studio_name |
|-----------|---------------|
| 1 | PeopleProd |
| 2 | TheBest |
-----------------------------
第三表 - Album
:
-----------------------------------
| album_id | Name | studio_id |
|----------|----------|-----------|
| 1 | Hits | 1 |
| 2 | Goldset | 1 |
-----------------------------------
我想在一行中顯示他們,這樣的結果將是:
------------------------------------------------------
| studio_id | studio_name | person_name | album_name |
|-----------|-------------|-------------|------------|
| 1 | PeopleProd | Bill | Hits |
| 1 | PeopleProd | Kate | GoldSet |
------------------------------------------------------
但是,當我使用JOIN
查詢,我收到重複:
SELECT studio_id studio_name person_name album_name
FROM Studio s
JOIN Album a ON s.studio_id = a.studio_id
JOIN Staff ss ON s.studio_id = ss.studio_id`.
這怎麼解決?
現在輸出:
------------------------------------------------------
| studio_id | studio_name | person_name | album_name |
|-----------|-------------|-------------|------------|
| 1 | PeopleProd | Bill | Hits |
| 1 | PeopleProd | Kate | Hits |
| 1 | PeopleProd | Bill | GoldSet |
| 1 | PeopleProd | Kate | GoldSet |
------------------------------------------------------
哪些SQL變化是您使用? – yanman1234
mssql server 2008 – Martin
爲什麼'Bill'只能得到'Hits' ??爲什麼不用'GoldSet'而不是 –