0
Ich bin neu in SQL und ich hatte gehofft, jemand von Ihnen könnte mir helfen. Ich habe diese beiden Abfragen, die ich in zwei verschiedene Spalten in der gleichen Tabelle einfügen möchte (wenn das überhaupt möglich ist).Mehrere SQL-Abfragen in einer einzigen Tabelle
Beispieldaten:
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
Erwartete Ergebnisse:
BP Name 2016 BP Name 2015
F C
G D
E
erste Abfrage (siehe Spalte „Actual Jahr)
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
zweite Abfrage (würde Spalte sein "Voriges Jahr")
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
Welche Daten u haben, und was ist Ihre erwartete Ergebnis – Mansoor
Bearbeiten Sie Ihre Frage. (1) Tag mit der von Ihnen verwendeten Datenbank (SQL Server?) (2) Beispieldaten; (3) Gewünschte Ergebnisse. Und ich sehe keinen Unterschied zwischen den Abfragen. –
Warum möchten Sie, dass es in SQL so dargestellt wird? Im Allgemeinen sollten Sie sich keine Gedanken über die Darstellung in Ihrer SQL-Abfrage machen. Wenn dies nur aus Präsentationsgründen ist, dann führen Sie einfach eine (einzelne) Abfrage durch, die alle Ihren BP-Namen und das entsprechende Jahr (2015, 2016) extrahiert und dann Ihre Präsentationsschicht so arrangieren lässt. Wenn es nicht wegen der Präsentation ist, dann lösen Sie wahrscheinlich gerade das falsche Problem. –