2012-11-30 6 views
5

ho 2 tabella denominata progetti e attivitàmysql select id e nome da altra tabella e unisciti interrogazione

nella tabella di progetti che ho:

id name 
--------- 
1 some 

nella tabella delle attività che ho:

id name project_id 
---------------------- 
1 some  1 

Ora, come posso selezionare * dalla tabella delle attività e ottenere il 'nome' dalla tabella dei progetti da 'id_progetto' nelle attività della tabella?

grazie

risposta

6
select task.id, task.name, proj.id, proj.name 
from tasks task left join projects proj on proj.id=task.project_id; 

Uso left join assicura si ottiene qualcosa, anche se non v'è alcun record nella tabella progetti. Se si vuole garantire la coerenza, si può fare

select task.id, task.name, proj.id, proj.name 
from tasks task, projects proj 
where proj.id=task.project_id; 
+0

Eccellente! Grazie mille – user1829014

3
SELECT t.*, p.[name] FROM tasks t 
INNER JOIN projects p 
ON t.project_id = p.[id] 
WHERE t.project_id = ____ 

Si compila in _ con la project_id si desidera

Problemi correlati