我有一個表,它採用以下形式:取消壓扁表
person, date, food1, food2, food3
我想借這個表,並得到一個結果,看起來像這樣:
person, date, foodId
所以對於例如,如果我在原來的表有一行是這樣的:
Andy, 1/1/2012,false,true,true
我會得到一個結果,看起來像這樣
Andy, 1/1/2012, food2
Andy, 1/1/2012, food3
到目前爲止,我有
SELECT person, date,
(
case
when food1 = true then 'food1'
when food2 = true then 'food2'
when food3 = true then 'food3'
end
) as foodId
但這只是抓住每源行一個結果時,有可能高達每源行3個結果。任何方式,我可以修復我的查詢,從我的例子,而不是隻有一個獲得2行?
我怎樣才能把它放到臨時表中? – sooprise 2012-02-08 21:04:42
@sooprise我給答案增加了一個例子。 – dasblinkenlight 2012-02-08 21:11:17