Mysql
 sql >> Database >  >> RDS >> Mysql

domanda sull'unione di MySQL

Stai selezionando job_desc_title dal primo e poi indirizzo email, nome, cognome, ecc. dal secondo. Questa non è un'unione.

Quello che stai cercando di fare è unirti e ti suggerisco di leggere questi. Un'unione prende i risultati di due query e li combina verticalmente. Un join prende i risultati di due tabelle e li combina orizzontalmente. Le unioni aggiungono righe, le unioni aggiungono colonne. Quello che stai cercando di fare è aggiungere una colonna (job_desc_title), non righe. La combinazione di righe (cioè un'unione) richiede le stesse colonne per funzionare.

Penso anche che tu stia usando un join sinistro quando dovresti usare un inner join.

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

Speriamo che questo ti porti da qualche parte vicino alla strada giusta.