的結果,我對我在使用UNION同樣的結果集已經返回相同的db表兩個單獨的查詢。我被卡住的地方是我現在想要對結果運行GROUP BY,但我沒有成功。目前在每個UNION中(這很好!)通過「name_of_asset」發生了分組,但是在最終結果中每個「name_of_asset」都有兩行 - 每個內部select都有一行。所以,雖然查詢的其餘部分是可以的,但下面的最後一個GROUP BY並沒有完成我想要做的事情。事實上,我沒有看到它對我的數據有任何影響,我只是將其包含在下面以突出顯示我已經嘗試過的內容。如何正確使用GROUP BY上的Sybase SQL子查詢
請注意,我正在嘗試使用臨時表完成以下而不使用。
SELECT TOP 4 asset, name_of_asset, usd_today, usd_prev
FROM
(
SELECT 'Asset' asset, name_of_asset, SUM(usd)/1000 usd_today, 0 usd_prev
FROM my_db..my_table
WHERE the_date = '9/30/2014'
AND asset = 'A'
UNION ALL
SELECT 'Asset' asset, name_of_asset, 0 usd_today, SUM(usd)/1000 usd_prev
FROM my_db..my_table
WHERE the_date = '8/29/2014'
AND asset = 'A'
) x
GROUP BY x.name_of_asset
ORDER BY x.usd_notional DESC
*此外,然後對其進行評論請注意,我改變了所有的數據庫,表和列名,以便沒有我其實有一個叫DB「MY_DB」「MY_TABLE」表的工作沒有崗位。 ..give我一些信用我命名約定技能略低於更好,p
預先感謝您的幫助!這是我第一次發佈的問題...編輯和建設性的批評總是歡迎:)
除了子查詢中的GROUP BY是多餘的(但無害)之外,哪些不適用於您發佈的SQL?我看起來很好。建議從子查詢中刪除TOP表達式,以使外部TOP更易於預測。 –
所以SQL是「工作」,即沒有失敗,所以它在這個意義上是好的,但它沒有返回我期待的結果。當我希望GROUP BY name_of_asset並且每個不同的name_of_asset在結果集中都有一行時,每個name_of_asset都會返回多個(兩個)行。感謝您的其他建議我正在編輯,以反映現在:) – laurenOlga
這些建議與下面的答案結合是我需要的。謝謝@Pieter :) – laurenOlga