我是 SQL 的新手,所以如果這看起來有點基本,我很感激。
我有一個資料集設定如下:
| 姓名 | 年齡 | 作業 | 開始 | 結尾 |
|---|---|---|---|---|
| 喬 | 20 | 水管工 | 01/20 | 08/20 |
| 喬 | 20 | 細木工 | 08/20 | 09/21 |
| 凱文 | 28 | 水管工 | 07/20 | 08/20 |
| 凱文 | 28 | 水管工 | 08/20 | 09/21 |
| 邁克爾 | 25 | 水管工 | 01/20 | 11/20 |
| 邁克爾 | 25 | 細木工 | 11/20 | 07/21 |
我正在嘗試獲取名稱和年齡相同但作業不同的所有行。輸出資料集應如下所示:
| 姓名 | 年齡 | 作業 | 開始 | 結尾 |
|---|---|---|---|---|
| 喬 | 20 | 水管工 | 01/20 | 08/20 |
| 喬 | 20 | 細木工 | 08/20 | 09/21 |
| 邁克爾 | 25 | 水管工 | 01/20 | 11/20 |
| 邁克爾 | 25 | 細木工 | 11/20 | 07/21 |
有人可以幫助我嗎?
uj5u.com熱心網友回復:
您可以檢查是否有重復的(姓名、年齡)對EXISTS但有不同的作業:
SELECT *
FROM t AS t1
WHERE EXISTS (
SELECT *
FROM t AS t2
WHERE t2.name = t1.name
AND t2.age = t1.age
AND t2.job <> t1.job
)
uj5u.com熱心網友回復:
SELECT C.*
FROM YOUR_TABLE AS C
JOIN YOUR_TABLE AS C2 ON C.Name=C2.Name AND C.Age=C2.Age AND C.Job<>C2.Job
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346762.html
標籤:sql
下一篇:SQL:根據相同的列值更新列值
