2013-07-02 20 views
8

Sono nuovo di SQL, so che questo è davvero semplice ma non so davvero come farlo! Mi unisco a due tavoli, ogni tabella dice che ha 5 colonne, unendole mi daranno 10 colonne in totale che davvero non voglio. Quello che voglio è selezionare colonne specifiche da entrambe le tabelle in modo che vengano visualizzate solo dopo il join. (Voglio ridurre il mio risultato unirsi al solo colonne specifiche)Unione di due tabelle con colonne specifiche

SELECT * FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

La sintassi di cui sopra mi darà tutte le colonne che non voglio. Voglio solo EmpName, Indirizzo dal tavolo tblEmployees e Nome, Indirizzo, progetto dalla tabella tbSupervisor

So che questo passo:

SELECT EmpName, Address FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

ma non sono sicuro circa la tabella di supervisore.

Sto usando SQL Server.

+0

Hai solo bisogno di digitare i nomi delle colonne che ti servono da ogni tavolo. – Taryn

risposta

13

Questo è quello che vi serve:

Select e.EmpName, e.Address, s.Name, S.Address, s.Project 
From tbEmployees e 
JOIN tbSupervisor s on e.id = SupervisorID 

Tuttavia, avrei sicuramente suggerire la lettura un po 'di più su SQL. http://www.w3schools.com/sql/default.asp è un posto decente per iniziare.

+0

Correzione di minuti per MS SQL ... 'Selezionare e.EmpName, e.Address, s.Name, S.Address, s.Project Da tbEmployees e JOIN tbSupervisor s su e.id = s.SupervisorID' –

8

È possibile ottenere colonne di tabelle specifiche, sia per il loro nome completo o utilizzando un alias:

SELECT E.EmpName, E.Address, S.Name, S.Address, S.Project 
FROM tbEmployees E 
INNER JOIN tbSupervisor S ON E.ID = S.SupervisorID 
1

Hai bisogno di imparare di alias. Renderanno le tue domande più manutenibili. Inoltre, si dovrebbe sempre utilizzare gli alias quando si fa riferimento le colonne, quindi la query è chiaro su quello che sta facendo:

SELECT e.EmpName, e.Address, s.name, s.address as SupervisorAddress 
FROM tbEmployees e JOIN 
    tbSupervisor s 
    ON e.ID = s.SupervisorID; 

Nota che ho anche rinominato il secondo indirizzo per cui il suo nome è univoco.

4

È possibile utilizzare il nome della tabella come parte della specifica colonna:

SELECT tbEmployees.EmpName, tbEmployeesAddress, tbSupervisor.Name, 
     tbSupervisor.Address, tbSupervisor.project 

FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 
1

Specificare il nome della tabella e il nome del campo nella selezione

SELEZIONA tbEmployees.EmpName, tbEmployees.Address, tbSupervisor [. nome colonna]

DA tbEmployees

ENTRA tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID

3
 


    SELECT employees.EmpName, employees.Address AS employeer address, 
      supervisor.Name, supervisor.Address AS supervisor address,supervisor.project 
    FROM tbEmployees 
     AS employees 
    JOIN tbSupervisor 
     AS supervisor 
    ON 
     employees.ID = supervisor.SupervisorID