我有一個垂直存儲數據的表,我已經展示了下面這對於每個城市的記錄客戶已生活在一個簡單的例子:訪問SQL - 返回唯一組合在現場
| CUSTOMER | CITY |
------------------------------
| John | London |
| John | Manchester |
| Sarah | Cardiff |
| Sarah | Edinburgh |
| Sarah | Liverpool |
| Craig | Manchester |
| Craig | London |
我想想出一個返回所有城市獨特組合的SQL查詢,在上面的例子中,約翰和克雷格都住在倫敦和曼徹斯特,但莎拉住在不同的城市(加的夫,愛丁堡和利物浦),所以我想輸出如下(可處理任意數量的城市)
| CITY1 | CITY2 | CITY3 |
--------------------------------------------
| London | Manchester | |
| Cardiff | Edinburgh | Liverpool |
我一直在使用交叉表查詢,以平視的數據是這樣的嘗試:
TRANSFORM Max(City)
SELECT Customer
FROM tblCities
GROUP BY Customer
PIVOT City
,但它只是返回現場的所有城市爲每一位顧客。有誰知道這是否可以使用SQL?
p.s理想情況下它會忽略城市的秩序
如果一個人只生活在一個城市或三個城市,會發生Wbat嗎? –
好問題,我希望最好的辦法是爲大多數城市的人提供足夠的專欄,而少於這個數字的人只能填寫第一個,然後填充多個專欄。 – Leroy
使用外選擇不同的變換?'(客戶TRANSFORM MAX(市) 選擇客戶 FROM tblCities 集團 PIVOT市)選擇不同的*從B'? – xQbert