2016-07-07 34 views
0

我需要一个连接查询来获取数据,当我点击一个按钮。点击部分是在PHP和jQuery的帮助下完成的。但连接查询失败。请帮我解决这个问题。需要帮助来解决内部加入查询中的问题

我试着查询

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的输入类型的详细信息。将输入类型动态地列入表单。

form_values:它用于存储输入类型的动态值。

form_values

form_field_id:与form_fields.id

PARENT_ID:与events.customer_id

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 

事件

id  customer_id title price 

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

结果我需要的是:

当我点击一个按钮id (events.id = 10029)将通过和获取数据。 我需要的结果,其中form_fields.relation = "event"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

可能在where子句中将'events.id ='10029''改成('10029','10028')'中的events.id。 In将以一些性能为代价来支持一个或多个事件ID。虽然...如何点击导致2 ID被选中。我假设有一个复选框或PHP中包含传递多个值的东西。 – xQbert

+0

那么'in'仍然会使用索引 – Drew

回答

0

我的事情你有数据录入错误,我运行相同的查询,但得到的答复正是你想要的,那么请检查您的资料,请和我跑了查询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')