SQL linke Verbindung für zwei Tabellen mit einer Concat-Zeichenfolge als Argument
-
13-12-2019 - |
Frage
Ich muss einen Titel von Tabelle 2 erhalten, Tabelle 2 hat Titel- und ID-Spalte. Tabelle 1 hat einige Daten und drei dieser Säulen, die zusammen miteinander verkettet sind, um die ID, die in Tabelle 1 zu finden ist.
Ich habe Concat_ws () -Funktion verwendet und erteilte diese Spalte einen Aliasnamen und muss den Alias für das AT-Argument verwenden (zumindest das ist das, was ich verstanden habe, was ich verstanden habe)
Ich dachte, das könnte ein einfacher linker Join sein, doch es funktioniert nicht für mich.
Dies ist meine Abfrage
generasacodicetagpre.Ich erhalte Ergebnisse für E-Mails, F_NAME, L_NAME, QUALITY und TAID, aber die Spalten von Hilfs- und Gruppennamen der zweiten Tabelle return null.
Lösung
Ich fühle mich, als würden Sie keinen Alias in der AT-Klausel verwenden. Versuchen Sie,
zu tun generasacodicetagpre."Sie können den Alias in der Gruppe von verwenden, indem Sie mit den Klauseln auf der Spalte auftragen oder auf die Spalte angezeigt werden" (von dev.mysql.com/doc/refman/5.0/de/problems-with-alias.html).
und "der Bedingung_expr, der mit ON verwendet wird, ist jeder bedingte Ausdruck des Formulars, der in einem Where-Klausel verwendet werden kann" (von dev.mysql.com/doc/refman/5.1/de/join.html).
So als logischer Inferenz dürfen Sie keine Aliase in Klauseln verwenden.
Andere Tipps
Versuchen Sie, eine Unterabfrage zu verwenden. es geht so .........
ex.
auswählen tbl1.mail, tbl1.f_name, tbl1.l_name, tbl1.Qualität, tbl1.t1aid, table_groups.Aid, table_groups.group_name
generasacodicetagpre.