2016-10-20 4 views
0

Hai Ich bin neu in PHP und MySQL. Hier möchte ich drei verschiedene Quires verbinden. Hier ist meine AnfragenBeitreten von drei verschiedenen MySQL Abfragen Tabellen

Query1:

SELECT u.user_name,u.first_name 
FROM users u join users_cstm uc on u.id=uc.id_c 
WHERE u.deleted=0? 

Query2:

SELECT l.assigned_user_id,count(*) AS lead_count 
FROM lead l GROUP BY l.assigned_user_id? 

Abfrage3:

SELECT l.assigned_user_id,AVG(DATEDIFF(l.date_modified,l.date_entered)) AS avgdays 
FROM leads l GROUP BY l.assigned_user_id? 

und so..on ..

Dies ist Ergebnis, das ich suche für benutzername, vorname, lead_count, avgdays. aus drei Tabellen.

BigQuery join of three tables

Ich habe meine Lösung aus dem obigen Link versucht. Aber ich habe das Ergebnis nicht bekommen?

Vielen Dank für die Hilfe und Anregungen.

+0

Welches Ergebnis möchten Sie tun? –

+0

@ reds, Dies ist das Ergebnis, ich suche nach Benutzername, Vorname, Lead_count, Avgdays. Wenn ich diese SELECT u.user_name, u.first_name FROM Benutzer us joins users_cstm uc auf u.id = uc.id_c WHERE u.deleted = 0, bekomme ich das Ergebnis von user_name, first_name. – whoami

+0

Was ist das Problem Ihrer Anfrage dann –

Antwort

0

Versuchen unter query: -

SELECT u.user_name,u.first_name, 
lead_table.lead_count,lead_table.avgdays 
FROM users u join users_cstm uc on u.id=uc.id_c 
left join 
(SELECT l.assigned_user_id, 
     AVG(l.date_modified) AS avgdays, 
     count(*) AS lead_count 
FROM leads l GROUP BY l.assigned_user_id) lead_table 
on u.id=lead_table.assigned_user_id 
WHERE u.deleted=0; 
+0

Danke, dass es funktioniert. Aber ich habe mehr 10 Abfragen mit mehreren Bedingungen. und ich muss mich auf die gleiche Weise verbinden. – whoami

+0

hier sind meine verschiedenen Quries Hier ist die Liste. $ sql_query2 = "SELECT l.assigned_user_id, count (*) als lead_count FROM leads l group by l.assigned_user_id"; $ sql_query3 = "SELECT l.assigned_user_id, AVG (DATEDIFF (l.date_modified, l.date_entered)) AS avgdays FROM führt l group nach l.assigned_user_id"; $ sql_query4 = "SELECT c.assigned_user_id, count (*) als calls_count FROM Aufrufe c group by c.assigned_user_id"; und so weiter. Ich möchte all diese kombinieren und eine einzige Lösung erhalten, um die Werte http://stackoverflow.com/questions/16364187/combining-2-sql-queries-and-getting-result-set-in-one anzuzeigen – whoami

0

Versuchen Sie folgendes:

SELECT id,user_name,first_name,lead_count,avgdays from 
(SELECT id,user_name,first_name,lead_count from 
(SELECT u.id,u.user_name,u.first_name FROM users u,users_cstm uc where u.id=uc.id_c and u.deleted=0) as a 

LEFT JOIN 

(SELECT l.assigned_user_id,count(*) AS lead_count FROM lead l GROUP BY l.assigned_user_id) as b 
on a.id = b.assigned_user_id) as a 

LEFT JOIN 

(SELECT l.assigned_user_id,AVG(DATEDIFF(l.date_modified,l.date_entered)) AS avgdays 
FROM leads l GROUP BY l.assigned_user_id) as b 
on a.id = b.assigned_user_id 
+0

Ich nehme ID und assigned_user_id beide relativ Einschränkungen. Ich nehme an, es ist dasselbe. Sie können es ändern, wenn meine Vermutung falsch ist. –

+0

Danke Ich werde diese Abfrage ausführen. – whoami

+0

Ich bekomme kein Ergebnis. Die Seite ist leer. – whoami