比方說,我有兩個現有的表,「狗」和「貓」:SQL SELECT語法的解決方法
dog_name | owner ---------+------ Sparky | Bob Rover | Bob Snoopy | Chuck Odie | Jon cat_name | owner ---------+------ Garfield | Jon Muffy | Sam Stupid | Bob
我怎樣寫這個輸出查詢?
owner | num_dogs | num_cats ------+----------+--------- Bob | 2 | 1 Chuck | 1 | 0 Sam | 0 | 1 Jon | 1 | 1
我得到的答覆是下一個查詢
select owner, sum(num_dogs), sum(num_cats) from
(select owner, 1 as num_dogs, 0 as num_cats from dogs
union
select owner, 0 as num_dogs, 1 as num_cats from cats)
group by owner
但問題是,SQL不支持 「SELECT * FROM(選擇...)」 型的查詢
相反,「from」後面必須有一個表名。
不幸的是,我不能負擔得起臨時表或使用「select into」子句創建的表 。我需要針對 建議的解決方案採取一些解決方法,其中以這種方式形成嵌套的select子句。
您的意見是?
乾杯
這是什麼樣的數據庫引擎? – 2009-02-24 22:29:35
在我看來,你的「狗」和「貓」表正在乞求與列(名稱,所有者,類型)組合成一個「寵物」表。那麼你會選擇所有者,類型,數量(名稱)從寵物組所有者,類型。我認爲。沒有測試查詢。 – rmeador 2009-02-24 23:03:04