У меня есть SQL-запрос, который просто возвращает значение NULL в каждом поле. Он возвращает правильное количество строк для объема данных, вводимых в базу данных, но каждое значение столбца отображается как NULL, а не значение поля в MySQL.SQL Query возвращает каждое значение как NULL
Может ли кто-нибудь предложить какие-либо предложения для меня, пожалуйста?
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
Я попытался теперь также следующие, и я все еще получаю 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
Используйте 'User_ID' вместо 'User ID', и поэтому один (без пробелов!) – Tewdyn
field_ID нуждается в обратном тике, а не в apostrophe, а также в псевдонимах. так как это означает, что вы сравниваете строковое значение 'Field_ID' с' 88', которое никогда не будет равным. подобный оператор также нуждается в% для сравнения динамических значений. Если field_ID является числовым, я бы предложил прямо вверх '=' compare – xQbert
. Вместо одиночных кавычек вы используете одинарные кавычки. Я голосую, чтобы закрыть эти типы вопросов как простые типографские ошибки. –