我不太確定如何正確地短語問題,但我基本上試圖開發一個SQL查詢,該信息來自SELECTs
此表:使用SWITCH()將數據從列中拆分爲不同的列,並在到達行中關聯數據
-------------------
| id | Val | Date |
|----|-----|------|
| 1 | A | 10/9 |
| 1 | B | 3/14 |
| 2 | A | 1/6 |
| 3 | A | 4/4 |
| 4 | B | 7/12 |
| 5 | A | 8/6 |
-------------------
,併產生一個表,看起來像這樣:
------------------------------------------------
| id | Val_1 | Val_1_Date | Val_2 | Val_2_Date |
|----|-------|------------|-------|-------------
| 1 | A | 10/9 | B | 3/14 |
| 2 | A | 1/6 | | |
| 3 | A | 4/4 | | |
| 4 | | | B | 7/12 |
| 5 | A | 8/6 | | |
------------------------------------------------
我已經開始和發展查詢到在Val字段中的值拉出到不同的列:
SELECT * FROM
(
SELECT id, MAX(SWITCH(val='A', 'A')) as Val_1,
MAX(SWITCH(val='B', 'B')) as Val_2
FROM table1 GROUP BY id
)a
WHERE Val_1 IS NULL OR Val_2 IS NULL;
我該如何擴展它以取出相關日期?
(我用SWITCH()
代替CASE WHEN
因爲我使用類似的MS Access的驅動程序)。
謝謝!
這幾乎是您的上一個問題的確切重複http://stackoverflow.com/questions/22897468/selecting-values-from-a-table-where-values-from-one-column-is-divided-into -multi – wruckie
確實。但是,正如你所看到的,我把這個問題提供的答案包括在內,並且通過包含日期字段來構建問題。所以,雖然它幾乎是一個確切的重複,但它不是一個確切的重複。 – user98826