2016-06-10 14 views
1

Ich habe zwei Tabellen eine Tabelle hat Details von Projekten, die einzigartig sind und eine andere Tabelle hat Bild von diesem Projekt, sondern mehrere.Wie bekomme ich einzigartige Daten aus zwei Tabellen mit mysql?

Ich möchte ein Bild mit einem Projekt.

Struktur der Daten:

Table 1: 

Project_id Project_Name 
291   Demo1 
292   Demo2 

Table 2: 

Project_id Img_name Attr_id 
291   p1.png  11 
291   p2.png  12 

Ich möchte Bild bekommen, wo attr_id 11

ist

So Ausgabe

project_id Project_name  Img_name Attr_id 
291   Demo1   p1.png  11 

sein wird, so wie dies zu tun?

Antwort

0

Verwendung mysql JOIN

select a.Project_id,a.Project_Name,b.Img_name,b.Attr_id from table1 a join table2 b ON a.project_id = b.project_id where b.attr_id=11 
0

In Ihrem Fall können Sie mit dem JOIN -function von mysql:

select * from table1 a,table2 b where a.project_id = b.project_id and attr_id=11 

in beiden Richtungen führen in dem:

SELECT a.Project_id, a.Project_Name, b.Img_name, b.Attr_id 
FROM table2 b INNER JOIN Table1 a ON (b.Project_id = a.Project_id) 
WHERE b.Attr_id = 11 

, oder Sie Ihre Auswahl durch eine WHERE ... AND -Bau filtern könnten gleicher Ausgang:

291 Demo1 p1.png 11 
+0

„Wo ... AND“ ist in diesem Fall eine implizite beitreten. Sie sollten den expliziten Join bevorzugen, da er schneller zu bemerken ist. Daher ist es einfacher, die Abfrage zu lesen. – Philipp

0

können Sie einehabenauf diesen beiden Tabellen für immer das Ergebnis:

"select t1.project_id,t1.project_name,t2.img_name,t2.attr_id 
from table1 t1,table2 t2 
where t1.project_id=t2.project_id 
and t2.attr_id=11"; 
0

Wenn Sie nicht wollen, speziell die Attr_id abzufragen versuchen diese. Sollten Sie das Bild erhalten mit dem niedrigsten Attr_id Zusammenhang mit dem Projekt

SELECT table1.project_id, table1.project_name, image.Img_name, image.Attr_id 
FROM table1 
    INNER JOIN (SELECT * FROM table2 ORDER BY Attr_id ASC LIMIT 1) 
     AS image ON table1.project_id = image.project_id 
WHERE table1.project_id = 291 
Verwandte Themen