Mysql 从3-4个表中选择的SQL查询
请在下面找到我已设置的表结构和正在运行的查询的链接 目前的结果是只显示名字、姓氏和“教育结束”。但是所有的选项id及其相关的lang\u值仍然显示为“NULL” 预期结果:Mysql 从3-4个表中选择的SQL查询,mysql,sql,drop-down-menu,Mysql,Sql,Drop Down Menu,请在下面找到我已设置的表结构和正在运行的查询的链接 目前的结果是只显示名字、姓氏和“教育结束”。但是所有的选项id及其相关的lang\u值仍然显示为“NULL” 预期结果: 有什么建议可以解决吗 下面是您正在使用的查询: SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id, d.pf_education_finished, fl.lang_value FROM phpbb_profile_fields_data d L
有什么建议可以解决吗 下面是您正在使用的查询:
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_data d
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_name
LEFT JOIN phpbb_profile_fields_lang fl
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
获取null
值的原因是:
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_name
您正试图在一个表的pfu教育结束(int
)字段和另一个表的字段名称(int
)字段上加入。此外,也没有匹配的值(例如,pf_education_finished
包含数字,而字段名称
为“education finished”)
如果希望查询返回某些内容,则需要在字段id
上加入并phpbb\u profile\u字段
需要具有匹配字段id的一些记录,例如:
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_data d
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_id
LEFT JOIN phpbb_profile_fields_lang fl
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
以下是更新的以下是您正在使用的查询:
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_data d
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_name
LEFT JOIN phpbb_profile_fields_lang fl
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_lang fl
inner JOIN phpbb_profile_fields f
ON f.field_id = fl.field_id
inner JOIN phpbb_profile_fields_data d
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
获取null
值的原因是:
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_name
您正试图在一个表的pfu教育结束(int
)字段和另一个表的字段名称(int
)字段上加入。此外,也没有匹配的值(例如,pf_education_finished
包含数字,而字段名称
为“education finished”)
如果希望查询返回某些内容,则需要在字段id
上加入并phpbb\u profile\u字段
需要具有匹配字段id的一些记录,例如:
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_data d
LEFT JOIN phpbb_profile_fields f
ON d.pf_education_finished = f.field_id
LEFT JOIN phpbb_profile_fields_lang fl
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
以下是更新的
SELECT d.pf_firstname, d.pf_lastname, f.field_id, fl.option_id,
d.pf_education_finished, fl.lang_value
FROM phpbb_profile_fields_lang fl
inner JOIN phpbb_profile_fields f
ON f.field_id = fl.field_id
inner JOIN phpbb_profile_fields_data d
ON f.field_id = fl.field_id
ORDER BY d.pf_lastname ASC
如果您希望显示3-4个表中的数据,但在此查询中,名称根据phpbb\u profile\u fields\u lang
中出现的field\u id
计数重复,则这是可选查询
您正在寻找的确切解决方案是,当您从中检索数据的所有表中都有相同的主键时
多谢各位
如果您希望显示3-4个表中的数据,但在此查询中,名称根据phpbb\u profile\u fields\u lang
中出现的field\u id
计数重复,则这是可选查询
您正在寻找的确切解决方案是,当您从中检索数据的所有表中都有相同的主键时
谢谢。你能显示预期的结果吗?在d.pf\U education\U finished=f.field\U name
上,在phpbb\U profile\U fields\U data
和phpbb\U profile\U fields\U data\U data\n\code>之间没有任何相关字段,这与任何数据都不匹配。我在初始问题的底部添加了查询的预期结果。你能显示预期结果吗?在d.pf\u education\u finished=f.field\u name上,在phpbb\u profile\u fields\u data
和phpbb\u profile\u fields\u data
之间没有任何相关字段,这一个:d.pf\u education\u finished=f.field\u name
,它与任何数据都不匹配。我在初始问题的底部添加了所需的查询结果。