Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Union-Frage

Sie wählen job_desc_title aus dem ersten aus und dann E-Mail-Adresse, Vorname, Nachname usw. usw. aus dem zweiten. Dies ist keine Gewerkschaft.

Was Sie tun möchten, ist ein Join, und ich schlage vor, dass Sie sich darüber informieren. Eine Vereinigung nimmt die Ergebnisse zweier Abfragen und kombiniert sie vertikal. Ein Join nimmt die Ergebnisse zweier Tabellen und kombiniert sie horizontal. Unions fügen Zeilen hinzu, Joins fügen Spalten hinzu. Sie versuchen, eine Spalte (job_desc_title) hinzuzufügen, keine Zeilen. Das Kombinieren von Zeilen (d. h. eine Vereinigung) benötigt dieselben Spalten, um zu funktionieren.

Ich denke auch, dass Sie einen linken Join verwenden, wenn Sie einen inneren Join verwenden sollten.

select 
    a.email_address,
    a.first_name,
    a.last_name,
    a.home_phone_area,
    a.home_phone_num,
    post.job_desc_title
from 
    accounts a
    inner join profiles p on 
        a.id=p.account_id
    inner join postings post on
        --I have no idea what the relationship is here, so I'm guessing
        p.posting_id = post.id
where 
    a.id=5

Hoffentlich bringt Sie das in die Nähe des richtigen Weges.