我是新來的SQL,我堅持的東西,肯定很容易解決,但是讓我瘋狂。我有一個巨大的AS400 txt數據導出,我需要從中獲取一些數據。使用單個查詢,我可以得到正確的數字,但是我想知道是否有辦法編寫一個查詢,該查詢給出了一個包含四個結果的表,每個查詢都在一個列中。UNION ALL在同一個表中導致不同的列?
這些都是四個查詢:
SELECT COUNT([DATA1]) FROM (SELECT DISTINCT [DATA1] FROM STATUS);
SELECT COUNT([DATA2]) FROM (SELECT DISTINCT [DATA1], [DATA2], [DATA3] FROM STATUS);
SELECT COUNT([DATA3]) FROM (SELECT DISTINCT [DATA1], [DATA2], [DATA3], [TAL] FROM STATUS);
SELECT SUM([UNITS]) AS TOTAL FROM STATUS;
試圖與UNION ALL,但所有的結果在同一列中顯示出來。
有沒有辦法做到這一點?在一個查詢中獲取四個數字,並將每個數字導入不同的列。
非常感謝您的幫助和時間。
你能告訴我們您預期的輸出? – balaji
不相關,但:第一個查詢可以簡化爲'select count(distinct data1)from status;'(儘管我希望SQL Server足夠聰明,可以自己做) –
您好,感謝您的回覆。 DISTINCT是必要的,因爲在文檔的列中,相同的數字重複多次。這個想法是要獲得該列中存儲了多少個唯一的數字。例如,假設第1列有:第10個重複五次,第12個重複七次。我需要獲得的是列中存儲了多少個唯一數字的計數。在這個例子中,兩個。 – ElCodificadorWey