Ich bin relativ neue SQL-Abfragen, und ich versuche, zwei Tabellen zu verbinden, um einen schönen Datensatz zu bekommen, hatte aber einige Probleme. Ich habe zwei versucht:SQL JOIN zwei Tabellen mit eins-zu-vielen assoziativen Array?
SELECT wp_rg_lead.id, wp_rg_lead.created_by, wp_rg_lead_detail.field_number, wp_rg_lead_detail.value
FROM wp_rg_lead, wp_rg_lead_detail
WHERE wp_rg_lead.id = wp_rg_lead_detail.lead_id AND wp_rg_lead.form_id = '9' AND wp_rg_lead.payment_status = 'Approved'
und
SELECT wp_rg_lead.id, wp_rg_lead.created_by, wp_rg_lead_detail.field_number, wp_rg_lead_detail.value
FROM wp_rg_lead
INNER JOIN wp_rg_lead_detail
ON wp_rg_lead.id = wp_rg_lead_detail.lead_id
WHERE wp_rg_lead.form_id = '9' AND wp_rg_lead.payment_status = 'Approved'
von denen keine Arbeit und beide, die meine relative Unfähigkeit zeigen eine schöne SQL-Anweisung zu machen :)
Grundsätzlich eine der Tabellen wp_rg_lead
enthält eine Formular-ID wp_rg_lead.id
, die sich auf die zweite Tabelle wp_rg_lead_detail
über wp_rg_lead_detail.lead_id
bezieht.
Ich möchte grundsätzlich wp_rg_lead.created_by
bekommen und assoziiere das mit den vielen wp_rg_lead_detail.field_number
und deren zugehörigen wp_rg_lead_detail.value
. Dies muss, basierend auf wp_rg_lead.form_id = '9'
UND wp_rg_lead.payment_status = 'Approved'
Grundsätzlich würde Ich mag mit einem schönen Array, um am Ende, das wie die Suche nach etwas enden würde:
Array
(
[0] => stdClass Object
(
[id] => 301
[created_by] => 213
[field_number(1)] => [value(1)]
[field_number(2)] => [value(2)]
[field_number(3)] => [value(3)]
...
)
...
)
Aber ich habe keine Ahnung, wie eine SQL zu konstruieren Anweisung, um die field_number
und value
zuordnen. Muss ich zwei verschiedene Aussagen konstruieren und sie VEREINIGEN?
Am Ende würde ich gerne ein count() auf dem Array tun können und es nur die Anzahl der Einträge basierend auf dem Status "Genehmigt" zurückgeben. Meine zweite Abfrage ergibt 208 oder so.
Ich würde mich über jede Hilfe freuen, die versucht, diese Abfrage zum Laufen zu bringen. Das ist jenseits dessen, was ich gerade jetzt verstehe.
Vielen Dank!
Tre
Es sieht so aus, als ob deine Fragen funktionieren sollten (ich habe mir die zweite näher angesehen, aber beide scheinen gut). Was ist falsch an der Ergebnismenge, die sie dir geben? – Kevin