選擇,我有以下MySQL表:從兩個MySQL表
tbl_pet_owners:
+----+--------+----------+--------+--------------+
| id | name | pet | city | date_adopted |
+----+--------+----------+--------+--------------+
| 1 | jane | cat | Boston | 2017-07-11 |
| 2 | jane | dog | Boston | 2017-07-11 |
| 3 | jane | cat | Boston | 2017-06-11 |
| 4 | jack | cat | Boston | 2016-07-11 |
| 5 | jim | snake | Boston | 2017-07-11 |
| 6 | jim | goldfish | Boston | 2017-07-11 |
| 7 | joseph | cat | NYC | 2016-07-11 |
| 8 | sam | cat | NYC | 2017-07-11 |
| 9 | drew | dog | NYC | 2016-07-11 |
+----+--------+----------+--------+--------------+
tbl_pet_types:
+----------+-------------+
| pet | type |
+----------+-------------+
| cat | mammal |
| dog | mammal |
| goldfish | fish |
| goldfish | seacreature |
| snake | reptile |
+----------+-------------+
這裏的SQL命令,我想建造,英文:
選擇姓名,寵物和寵物的類型,其中所有者的城市是波士頓。此外,結果集中不允許有重複。其結果將是:
+------+----------+-------------------+
| name | pet | type |
+======+==========+===================+
| jane | cat | mammal |
+------+----------+-------------------+
| jane | dog | mammal |
+------+----------+-------------------+
| jack | cat | mammal |
+------+----------+-------------------+
| jim | snake | reptile |
+------+----------+-------------------+
| jim | goldfish | fish, seacreature |
+------+----------+-------------------+
這是我到目前爲止有:
SELECT result FROM (
SELECT DISTINCT owners.name, owners.pet, owners.city,
group_concat(DISTINCT types.type separator ', ') AS type
FROM tbl_pet_owners owners
INNER JOIN tbl_pet_types types ON owners.pet = types.pet
GROUP BY owners.name, owners.pet)
as result WHERE result.city = 'Boston'
但我發現了錯誤:「字段列表」
到目前爲止您嘗試了哪些查詢? – jackarms
你幾乎在那裏..你需要加入這兩個表,使用寵物字段作爲加入條件。請對Join類型及其工作方式進行一些研究。此外,這看起來像家庭作業可疑,如果它是請編輯你的問題,並添加這一點的細節。我們都在這裏提供幫助,但真的不想爲你做最初的工作。 – apesa
'SELECT n.name,p.pet,p.type FROM tbl_pet_owners n OUTER JOIN tbl_pet_types p ON n.pet = p.pet'這是爲了讓你開始,現在你必須弄清楚如何獲得不同的寵物值從這個 –