Ich habe eine Abfrage mit Daten, die auf monatlicher Basis hinzugefügt wird, aber es gibt mir die mehrdeutige SQL-Fehler und ich weiß nicht, was zu tun ist. Ich habe überall recherchiert und kann die Antwort auf mein Problem nicht finden, also hier geht es!Mehrdeutige Spalte bei der Auswahl bestimmter Monat Daten
dies ist die Abfrage:
SELECT REF.TOS AS [TOS Value]
,RSA_BELFAST_1921.Percentage AS [Belfast]
,RSA_BIRMINGHAM_1941$.Percentage AS [Birmingham]
,RSA_CARDIFFREGUS_2911$.Percentage AS [Cardiff Regus]
,RSA_CASTLEMEAD_1941$.Percentage AS [Castlemead]
,RSA_CHELMSFORD_1941$.Percentage AS [Chelmsford]
,RSA_EDNBGH_2951$.Percentage AS [Edimburgh]
,RSA_EUROPE_IOM_DOUG_2911$.Percentage AS [Europe]
,RSA_GLASGOW_7301$.Percentage AS [Glasgow]
,RSA_GUERNSEY_ICICI_1921P$.Percentage AS [Guernsey]
,RSA_HALIFAX_7301$.Percentage AS [Halifax]
,RSA_HORSHAM_1002$.Percentage AS [Horsham]
,RSA_IPSWICH_1921$.Percentage AS [Ipswich]
,RSA_LEEDS_2911$.Percentage AS [Leeds]
,RSA_LEICESTER_2951$.Percentage AS [Leicester]
,RSA_LIVERPOOL_1002$.Percentage AS [Liverpool]
,RSA_MANCHESTER_1941$.Percentage AS [Manchester]
,RSA_ONELONDON_1002.Percentage AS [London]
,RSA_PETERBOROUGH_3825.Percentage AS [Peterborough]
,RSA_REDHILL_2951.Percentage AS [Redhill]
,RSA_SUNDERLAND_1941$.Percentage AS [Sunderland]
FROM (SELECT TOS FROM RSA_BELFAST_1921 UNION
SELECT TOS FROM RSA_BIRMINGHAM_1941$ UNION
SELECT TOS FROM RSA_CARDIFFREGUS_2911$ UNION
SELECT TOS FROM RSA_CASTLEMEAD_1941$ UNION
SELECT TOS FROM RSA_CHELMSFORD_1941$ UNION
SELECT TOS FROM RSA_EDNBGH_2951$ UNION
SELECT TOS FROM RSA_EUROPE_IOM_DOUG_2911$ UNION
SELECT TOS FROM RSA_GLASGOW_7301$ UNION
SELECT TOS FROM RSA_GUERNSEY_ICICI_1921P$ UNION
SELECT TOS FROM RSA_HALIFAX_7301$ UNION
SELECT TOS FROM RSA_HORSHAM_1002$ UNION
SELECT TOS FROM RSA_IPSWICH_1921$ UNION
SELECT TOS FROM RSA_LEEDS_2911$ UNION
SELECT TOS FROM RSA_LEICESTER_2951$ UNION
SELECT TOS FROM RSA_LIVERPOOL_1002$ UNION
SELECT TOS FROM RSA_MANCHESTER_1941$ UNION
SELECT TOS FROM RSA_ONELONDON_1002 UNION
SELECT TOS FROM RSA_PETERBOROUGH_3825 UNION
SELECT TOS FROM RSA_REDHILL_2951 UNION
SELECT TOS FROM RSA_SUNDERLAND_1941$
) AS REF
FULL OUTER JOIN RSA_BELFAST_1921 ON REF.TOS = RSA_BELFAST_1921.TOS
FULL OUTER JOIN RSA_BIRMINGHAM_1941$ ON REF.TOS = RSA_BIRMINGHAM_1941$.TOS
FULL OUTER JOIN RSA_CARDIFFREGUS_2911$ ON REF.TOS = RSA_CARDIFFREGUS_2911$.TOS
FULL OUTER JOIN RSA_CASTLEMEAD_1941$ ON REF.TOS = RSA_CASTLEMEAD_1941$.TOS
FULL OUTER JOIN RSA_CHELMSFORD_1941$ ON REF.TOS = RSA_CHELMSFORD_1941$.TOS
FULL OUTER JOIN RSA_EDNBGH_2951$ ON REF.TOS = RSA_EDNBGH_2951$.TOS
FULL OUTER JOIN RSA_EUROPE_IOM_DOUG_2911$ ON REF.TOS = RSA_EUROPE_IOM_DOUG_2911$.TOS
FULL OUTER JOIN RSA_GLASGOW_7301$ ON REF.TOS = RSA_GLASGOW_7301$.TOS
FULL OUTER JOIN RSA_GUERNSEY_ICICI_1921P$ ON REF.TOS = RSA_GUERNSEY_ICICI_1921P$.TOS
FULL OUTER JOIN RSA_HALIFAX_7301$ ON REF.TOS = RSA_HALIFAX_7301$.TOS
FULL OUTER JOIN RSA_HORSHAM_1002$ ON REF.TOS = RSA_HORSHAM_1002$.TOS
FULL OUTER JOIN RSA_IPSWICH_1921$ ON REF.TOS = RSA_IPSWICH_1921$.TOS
FULL OUTER JOIN RSA_LEEDS_2911$ ON REF.TOS = RSA_LEEDS_2911$.TOS
FULL OUTER JOIN RSA_LEICESTER_2951$ ON REF.TOS = RSA_LEICESTER_2951$.TOS
FULL OUTER JOIN RSA_LIVERPOOL_1002$ ON REF.TOS = RSA_LIVERPOOL_1002$.TOS
FULL OUTER JOIN RSA_MANCHESTER_1941$ ON REF.TOS = RSA_MANCHESTER_1941$.TOS
FULL OUTER JOIN RSA_ONELONDON_1002 ON REF.TOS = RSA_ONELONDON_1002.TOS
FULL OUTER JOIN RSA_PETERBOROUGH_3825 ON REF.TOS = RSA_PETERBOROUGH_3825.TOS
FULL OUTER JOIN RSA_REDHILL_2951 ON REF.TOS = RSA_REDHILL_2951.TOS
FULL OUTER JOIN RSA_SUNDERLAND_1941$ ON REF.TOS = RSA_SUNDERLAND_1941$.TOS
WHERE REF.TOS = 'ef (DSCP 46)' and [Report Date] = 'April 2016'
ORDER BY [TOS Value]
wir tun dies im letzten Monat begonnen und wir hatten nur 1 Monat im Wert von Daten, so dass die Abfrage das erwartete Ergebnis in Ordnung und produziert lief das war:
TOS Value Belfast Birmingham Report Date
ef (DSCP 46) 0.14% 1.91% March 2016
aber jetzt, da wir die April-Daten hinzugefügt haben, erhalten wir den mehrdeutigen Fehler!
bitte helfen! Was stimmt mit meiner Anfrage nicht? Auch .... jetzt, dass ich den zweiten Monat von Daten hinzugefügt habe, wenn ich die Abfrage ohne den monatlichen "WHERE" -Parameter ausführen, produziert die Abfrage wie 52k Zeilen von Daten, wenn es nur 1 Zeile sein sollte!
Von welcher Tabelle kommt Ihr [Report Date]? – Shaneis
Report_date kommt von welcher Tabelle .....? – Chanukya
@Shaneis Alle Tabellen haben eine Spalte namens Berichtsdaten. –