0
我是SQL新手,希望有人能幫助我。 我有兩個查詢,我想把兩個不同的列放在同一個表中(如果甚至可能的話)。單個表中有多個SQL查詢
的樣本數據:
BP Name Disbursment Date
A 2013
B 2013
C 2015
A 2015
B 2016
D 2015
D 2016
E 2015
E 2016
F 2016
G 2016
預期結果:
BP Name 2016 BP Name 2015
F C
G D
E
首先查詢(列「實際年化)
SELECT DISTINCT t."BP Name"
FROM ( SELECT
"BP Name",
"Disbursment Date"
FROM "SB_MD"
WHERE year("Disbursment Date") = Year(getdate())
) t LEFT JOIN( SELECT "BP Name"
FROM "SB_MD"
WHERE year("Disbursment Date") < year(getdate())
) t1 ON t."BP Name" = t1."BP Name"
WHERE t1."BP Name" is null
第二個查詢(將柱 「上一年度」)
SELECT DISTINCT t."BP Name"
FROM ( SELECT
"BP Name",
"Disbursment Date"
FROM "SB_MD"
WHERE year("Disbursment Date") = (Year(getdate()) -1)
) t LEFT JOIN( SELECT "BP Name"
FROM "SB_MD"
WHERE year("Disbursment Date") < (year(getdate()) -1)
) t1 ON t."BP Name" = t1."BP Name"
WHERE t1."BP Name" is null
u有什麼數據,什麼是您預期的結果 – Mansoor
編輯你的問題。 (1)使用您正在使用的數據庫進行標記(SQL Server?)(2)示例數據; (3)期望的結果。而且,我沒有看到這些查詢之間的區別。 –
爲什麼你希望它像SQL一樣呈現?一般來說,你不應該擔心你的SQL查詢中的表示。如果這純粹是出於表達原因,那麼只需執行一次(單個)查詢即可提取所有BP名稱和相應的年份(2015,2016),然後讓表示層對其進行排列。如果不是因爲介紹,那麼你現在可能就解決了錯誤的問題。 –