Ich habe die folgenden Tabellen mit den folgenden Spalten: Mehr in http://sqlfiddle.com/#!2/8776a0/2Join mehr als vier Tabellen in SQL
request : {id,request_id, client_id, product_name, designation_date_1, can }
assigned_samples:{id,labref, user_id, stat}
users{id, fname, lname}
clients:{id, name}
tracking_table{labref, activity, added_date}
Was würde ich alles tun, diese Tabellen wird kommen und kommen mit einem großen Tisch alle enthalten die Daten, wenn sie mit Nachverfolgungstabelle Verbindung, die Bedingung ist, wenn Aktivitätsspalte zu prüfen hat gegebenen Wert wie „a“, wenn eine passende Zeile nicht gefunden wird, sollte die DATE_ADDED null sein sonst zeigen die DATE_ADDED
result table {labref, prod, desc_date, can, CONCAT(fname,' ',lname), date_added}
SELECT r.request_id, r.product_name, r.can, r.designation_date_1, CONCAT(u.fname,' ', u.lname) as analyst, a_s.stat
FROM request r, assigned_samples a_s, user u, clients c
WHERE r.client_id=c.id
AND a_s.analyst_id = u.id
AND r.request_id = a_s.labref
AND r.client_id='2'
GROUP BY r.request_id
ich f i fügen Sie die Abfrage eine Bedingung, gibt sie die Daten, aber die DATE_ADDED ist egal, was falsch ist
SELECT r.request_id, r.product_name, r.can, r.designation_date_1, CONCAT(u.fname,' ', u.lname) as analyst, a_s.stat
FROM request r, assigned_samples a_s, user u, clients c, tracking_table t
WHERE r.client_id=c.id
AND a_s.analyst_id = u.id
AND r.request_id = a_s.labref
AND t.activity ='Authorizing COA Release'
AND r.client_id='2'
GROUP BY r.request_id
Sie müssen beitreten eine Außen verwenden (links oder rechts), um alle Datensätze aus einer Tabelle und die übereinstimmenden von einem anderen zu erhalten. Aber ich verstehe nicht, warum Sie group by verwenden, wenn Sie keine Aggregatfunktion wie sum() verwenden und nur ein einzelnes Feld in der Liste gruppieren nach auflisten. – Shadow