2016-07-07 5 views
0

Ich brauche eine Join-Abfrage zum Abrufen von Daten, wenn ich auf eine Schaltfläche klicke. Der Click-Bereich wird mit Hilfe von PHP und jQuery erstellt. Aber Join-Abfrage ist fehlgeschlagen. Bitte helfen Sie mir, dieses Problem zu lösen.Benötigen Sie Hilfe, um das Problem in der inneren Join-Abfrage zu lösen

Ich versuchte Abfrage

ist
SELECT events.id, 
        form_values.id, 
        form_values.value, 
        form_fields.title, 
        form_fields.relation FROM events 
     INNER JOIN form_values 
    ON form_values.parent_id = events.customer_id 
     INNER JOIN form_fields 
     ON form_fields.id = form_values.form_field_id 
WHERE form_fields.relation = 'event' AND events.id = '10029' 

form_fields: html input type Details enthält. Zum dynamischen Auflisten von Eingabetypen in Formularen.

form_values ​​: Es wird verwendet, um dynamische Werte vom Eingabetyp zu speichern.

form_values ​​

form_field_id: form_fields.id zu Tabelle

parent_id bezogen werden: bezogen auf events.customer_id Tabelle

id form_field_id value parent_id 

1  2   3  3119 
2  5   yes  3119 
3  10  yes  3119 
4  10  yes  3118 
5  6   text 3118 
6  4   on  3118 

form_fields

id  title   type  option       relation 

    2  select box select  2:CustomerTwo|3:CustomerThree customer 
    4  check box  checkbox         customer          
    5  radio one  radio  yes:Yes|no:No     customer 
    6  text box  textbox         event 
    10  radio two  radio  yes:Yes|no:No     event 

Ereignisse

id  customer_id title price 

10028  3119  Test1  125 
10029  3118  Test2  132 
10030  3118  Test3  133 

Ergebnis was ich brauche ist:

Wenn ich id (events.id = 10029) eine Schaltfläche klicken, werden die Daten übergeben und holen. ich führen müssen, wo form_fields.relation = "event" und events.id = clicked ID(10029, 10028)

events.id form_fields.value form_fields.title form_fields.relation 
10029   text     text box   event 
10029   yes     radio two   event 
10028   yes     radio two   event    
+0

Ändern Sie 'events.id = '10029'' in' events.id in (' 10029 ',' 10028 ') 'in der Where-Klausel vielleicht. In wird eine oder mehrere Ereignis-IDs auf Kosten einer Leistung unterstützen. Obwohl ... wie kann ein Klick dazu führen, dass 2 IDs ausgewählt werden. Ich nehme an, es gibt eine Checkbox oder etwas in der PHP, die die mehreren Werte enthält, die übergeben werden. – xQbert

+0

Nun, das 'in' würde immer noch einen Index verwenden – Drew

Antwort

0

ich, was Sie Fehler bei der Dateneingabe, ich gleiche Abfrage ausführen, aber ich habe die Antwort genau wollen Sie, so dass Ihre Daten überprüfen Sie bitte, und die Abfrage lief ich ist SELECT events.id, form_values.id, form_values.value, form_fields.title, form_fields.relation FROM events INNER JOIN form_values ON form_values.parent_id = events.customer_id INNER JOIN form_fields ON form_fields.id = form_values.form_field_id WHERE form_fields.relation = 'event' AND events.id IN('10029','10028')

Verwandte Themen