2016-06-28 15 views
0

Ich arbeite derzeit an Tableau-Software und muss eine benutzerdefinierte SQL-Abfrage durchführen.Linke Verknüpfung von verschiedenen Abfragen

Ich habe derzeit zwei Tabellen, von denen jede das Ergebnis einer SQL-Abfrage ist.

TABELLE 1:

Select * 
from AA 
left join BB on AA.id = BB.id 

TABELLE 2:

Select * 
from CC 
inner join DD on CC.brandId=DD.brandId 
where CC.Year between year(getdate())-4 and year(getdate()) 
     and CC.productCategoryId = 'Category 1') 

Ich möchte eine Abfrage tun, das ist:

FINAL QUERY:

Select * 
from TABLE 1 
LEFT JOIN Table 2 on AA.id = CC.id (both have id) 

Aber ich funktioniert nicht. SQL Management Server gibt mir einen Fehler auf der LINKEN JOIN der letzten Abfrage und ich verstehe nicht warum ... Es ist so, als ob ich nicht die linke Join erstellen kann (beide Anforderungen für Tabelle 1 und 2 funktionieren gut, es ist addieren sie, die nicht funktioniert).

Irgendeine Idee ?? :) Vielen Dank im Voraus!

+1

und was ist der Fehler, den Sie bekommen? –

+2

Ersetzen Sie TABELLE 1 mit AA und Tabelle 2 mit CC. – dcp

+0

Hallo A, ich bekomme nur den Fehler "Falsche Syntax in der Nähe des Schlüsselwortes 'links'" ... Hallo dcp, ich brauche die Informationen von AA links beitreten BB und CC links beitreten DD. AA left join CC wird mir nicht alle Informationen geben, die ich brauche. – Aqualover

Antwort

1

Jetzt, da Sie die Ergebnisse von AA in eine neue Tabelle mit der Bezeichnung Tabelle 1 und ebenfalls von CC in Tabelle 2 einfügen, ist es nicht sinnvoll, nach AA.id = CC.id zu suchen. Versuchen Sie etwas wie [Tabelle 1] .id = [Tabelle 2] .id

+0

Hallo Marius Vielen Dank. Wie lege ich die [Table1] .id fest? Zur Zeit füge ich nur die SQL-Abfrage für Tabelle 1 in meine letzte Abfrage ein. Also habe ich keinen Namen für die Abfrage. Ich mache dies, um die benutzerdefinierte SQL-Anfrage für die Tableau-Software zu übernehmen. Daher bin ich mir nicht sicher, ob die Benennung dafür funktioniert. – Aqualover

+0

Ich weiß nicht, Tableau, aber man konnte zu nisten Ihre Fragen versuchen: – Marius

+0

ich Tableau weiß es nicht, aber man konnte zu nisten Ihre Fragen versuchen: Select * from (Select * von AA links BB kommen auf AA.id = BB.id) Tbl1 links (Select * von CC Exklusionsverknüpfung DD auf CC.brandId = DD.brandId wo CC.Year zwischen Jahr (getdate()) beitreten - 4 und Jahr (getdate ()) und CC.productCategoryId = 'Kategorie 1')) tbl2 auf Tbl1.id = Tbl2.id Logic ist: wählen Sie erstellt eine temporäre Tabelle, die wir jetzt alias mit Tbl1 und TBL2, und dann die Abfrage durchzuführen. – Marius

Verwandte Themen