简体   繁体   English

SQL查询返回的每个值都为NULL

[英]SQL Query returning every value as NULL

I have an SQL query that is simply returning a value of NULL in every field. 我有一个SQL查询,该查询只是在每个字段中返回NULL值。 It returns the correct number of rows for the amount of data inputted within the database but every column value shows as NULL rather than the value of the field in MySQL. 对于数据库中输入的数据量,它返回正确的行数,但是每个列值都显示为NULL,而不是MySQL中的字段值。

Can anyone offer any suggestions for me please? 谁能为我提供任何建议?

SELECT items.form_id as 'Form ID',
MAX(IF('field_id' LIKE 88,meta_value,NULL)) AS 'User ID',
MAX(IF('field_id' LIKE 96,meta_value,NULL)) AS 'Display Name',
MAX(IF('field_id' LIKE 95,meta_value,NULL)) AS 'User Role',
MAX(IF('field_id' LIKE 301,meta_value,NULL)) AS 'Your District',
MAX(IF('field_id' LIKE 97,meta_value,NULL)) AS 'Time Duty Logged',
MAX(IF('field_id' LIKE 84,meta_value,NULL)) AS 'Date of Duty',
MAX(IF('field_id' LIKE 85,meta_value,NULL)) AS 'Duty Start Time',
MAX(IF('field_id' LIKE 86,meta_value,NULL)) AS 'Duty End Time',
MAX(IF('field_id' LIKE 139,meta_value,NULL)) AS 'Duty Status',
MAX(IF('field_id' LIKE 142,meta_value,NULL)) AS 'Duty Type',
MAX(IF('field_id' LIKE 174,meta_value,NULL)) AS 'Which Event?',
MAX(IF('field_id' LIKE 103,meta_value,NULL)) AS 'Total Hours',
MAX(IF('field_id' LIKE 135,meta_value,NULL)) AS 'Duty Details',
MAX(IF('field_id' LIKE 136,meta_value,NULL)) AS 'End Section',
MAX(IF('field_id' LIKE 227,meta_value,NULL)) AS 'User Details',
MAX(IF('field_id' LIKE 228,meta_value,NULL)) AS 'End Section'
FROM wp_frm_item_metas as meta
JOIN wp_frm_items as items  ON (items.id = meta.item_id)
WHERE items.form_id LIKE 6
GROUP BY meta.item_id

I have tried the following now also and I still get NULL in place of every field value 我现在也尝试了以下操作,但仍然获得NULL代替每个字段值

SELECT items.form_id as 'Form ID',
MAX(IF('field_id' = 88,meta_value,NULL)) AS 'User_ID',
MAX(IF('field_id' = 96,meta_value,NULL)) AS 'Display_Name',
MAX(IF('field_id' = 95,meta_value,NULL)) AS 'User_Role',
MAX(IF('field_id' = 301,meta_value,NULL)) AS 'Your_District',
MAX(IF('field_id' = 97,meta_value,NULL)) AS 'Time_Duty_Logged',
MAX(IF('field_id' = 84,meta_value,NULL)) AS 'Date_of_Duty',
MAX(IF('field_id' = 85,meta_value,NULL)) AS 'Duty_Start_Time',
MAX(IF('field_id' = 86,meta_value,NULL)) AS 'Duty_End_Time',
MAX(IF('field_id' = 139,meta_value,NULL)) AS 'Duty_Status',
MAX(IF('field_id' = 142,meta_value,NULL)) AS 'Duty_Type',
MAX(IF('field_id' = 174,meta_value,NULL)) AS 'Which_Event?',
MAX(IF('field_id' = 103,meta_value,NULL)) AS 'Total_Hours',
MAX(IF('field_id' = 135,meta_value,NULL)) AS 'Duty_Details',
MAX(IF('field_id' = 136,meta_value,NULL)) AS 'End_Section',
MAX(IF('field_id' = 227,meta_value,NULL)) AS 'User_Details',
MAX(IF('field_id' = 228,meta_value,NULL)) AS 'End_Section'
FROM wp_frm_item_metas as meta
JOIN wp_frm_items as items  ON (items.id = meta.item_id)
WHERE items.form_id = 6
GROUP BY meta.item_id

Two things: You don't have to quote the field_id column name and you probably don't want to use LIKE on a numeric value. 两件事:您不必引用field_id列名,并且您可能不想在数字值上使用LIKE

SELECT items.form_id as 'Form ID',
MAX(IF(field_id = 88,meta_value,NULL)) AS 'User_ID',
MAX(IF(field_id = 96,meta_value,NULL)) AS 'Display_Name',
MAX(IF(field_id = 95,meta_value,NULL)) AS 'User_Role',
MAX(IF(field_id = 301,meta_value,NULL)) AS 'Your_District',
MAX(IF(field_id = 97,meta_value,NULL)) AS 'Time_Duty_Logged',
MAX(IF(field_id = 84,meta_value,NULL)) AS 'Date_of_Duty',
MAX(IF(field_id = 85,meta_value,NULL)) AS 'Duty_Start_Time',
MAX(IF(field_id = 86,meta_value,NULL)) AS 'Duty_End_Time',
MAX(IF(field_id = 139,meta_value,NULL)) AS 'Duty_Status',
MAX(IF(field_id = 142,meta_value,NULL)) AS 'Duty_Type',
MAX(IF(field_id = 174,meta_value,NULL)) AS 'Which_Event?',
MAX(IF(field_id = 103,meta_value,NULL)) AS 'Total_Hours',
MAX(IF(field_id = 135,meta_value,NULL)) AS 'Duty_Details',
MAX(IF(field_id = 136,meta_value,NULL)) AS 'End_Section',
MAX(IF(field_id = 227,meta_value,NULL)) AS 'User_Details',
MAX(IF(field_id = 228,meta_value,NULL)) AS 'End_Section'
FROM wp_frm_item_metas as meta
JOIN wp_frm_items as items  ON (items.id = meta.item_id)
WHERE items.form_id = 6
GROUP BY meta.item_id
SELECT items.form_id as `Form ID`,
MAX(IF(`field_id` = 88,meta_value,NULL)) AS `User ID`,
MAX(IF(`field_id` = 96,meta_value,NULL)) AS `Display Name`,
MAX(IF(`field_id` = 95,meta_value,NULL)) AS `User Role`,
MAX(IF(`field_id` = 301,meta_value,NULL)) AS `Your District`,
MAX(IF(`field_id` = 97,meta_value,NULL)) AS `Time Duty Logged`,
MAX(IF(`field_id` = 84,meta_value,NULL)) AS `Date of Duty`,
MAX(IF(`field_id` = 85,meta_value,NULL)) AS `Duty Start Time`,
MAX(IF(`field_id` = 86,meta_value,NULL)) AS `Duty End Time`,
MAX(IF(`field_id` = 139,meta_value,NULL)) AS `Duty Status`,
MAX(IF(`field_id` = 142,meta_value,NULL)) AS `Duty Type`,
MAX(IF(`field_id` = 174,meta_value,NULL)) AS `Which Event?`,
MAX(IF(`field_id` = 103,meta_value,NULL)) AS `Total Hours`,
MAX(IF(`field_id` = 135,meta_value,NULL)) AS `Duty Details`,
MAX(IF(`field_id` = 136,meta_value,NULL)) AS `End Section`,
MAX(IF(`field_id` = 227,meta_value,NULL)) AS `User Details`,
MAX(IF(`field_id` = 228,meta_value,NULL)) AS `End Section`
FROM wp_frm_item_metas as meta
JOIN wp_frm_items as items  ON (items.id = meta.item_id)
WHERE items.form_id = 6
GROUP BY meta.item_id

Thanks to the advice everyone - this has resolved it for me perfectly. 感谢大家的建议-这已为我完美解决了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM