的專欄中,我不能完全得到我周圍的SQL查詢的頭,因爲它不是我的專長。我試圖選擇僱員表中id
的行的名稱出現在另一個表accounts
的列salesPersonId
中。也就是說,在帳戶表中表示的任何員工姓名。選擇行標識的出現在另一個表
ACCOUNT
+----+---------------+
| id | salesPersonID |
+----+---------------+
| 0 | 1020 |
+----+---------------+
| 1 | 1020 |
+----+---------------+
| 2 | 1009 |
+----+---------------+
EMPLOYEE
+------+---------------+
| id | firstName |
+------+---------------+
| 1009 | BILL | <-select his name
+------+---------------+
| 1020 | KATE | <-select her name
+------+---------------+
| 1025 | NEIL | <-not this guy
+------+---------------+
由於Neil在account.salesPersonID中沒有任何存在,我想選擇除他以外的其他兩個人。儘管如此,我還沒有做出太多的努力,並尋求一些意見。
SELECT * FROM employee e
LEFT JOIN account a
ON a.salesPersonID = e.id
WHERE (SELECT COUNT(salesPersonID) FROM account) > 0
不起作用。我想知道如何選擇salesPersonID
中的這些員工姓名。謝謝。
哇,太棒了。非常感謝!如果我有不止一個凱特,我仍然不太瞭解如何組隊。 – 1252748 2013-02-26 20:34:48
如果您有多個凱特,並且您只想爲每個唯一名稱顯示一行,那麼'Group By e.firstName '。如果您想爲每位唯一員工顯示一行,即使員工擁有相同的姓名,也可以使用「Group By e.Id」。 – 2013-02-26 20:36:08
'SELECT不同e.firstName FROM員工e JOIN帳戶a ON a.salesPersonID1 = e.id Group By e.Id'給我錯誤:'錯誤:列'employee.FirstName'在選擇列表中無效 因爲它不是在聚合函數 或GROUP BY clause.'包含:/ – 1252748 2013-02-26 20:50:21