大家好,我正在尝试从两个表中选择字段,并根据条件显示两次该字段之一,基本上我需要:

wp_cimy_uef_data.VALUE WHERE wp_cimy_uef_data.FIELD_ID = 3
wp_cimy_uef_data.VALUE WHERE wp_cimy_uef_data.FIELD_ID = 4
wp_users.user_email


我知道我必须加入表格,并且我想我做对了,但是到目前为止,我不知道如何基于WHERE选择两次VALUE字段:

SELECT wp_cimy_uef_data.VALUE, wp_users.user_email, FROM wp_users JOIN wp_cimy_uef_data ON wp_users.ID = wp_cimy_uef_data.USER_ID


我虽然可能会像

SELECT (wp_cimy_uef_data.VALUE WHERE wp_cimy_uef_data.FIELD_ID = 3), (wp_cimy_uef_data.VALUE WHERE wp_cimy_uef_data.FIELD_ID = 4)


但显然那是错误的。

最佳答案

如果我理解正确,则可以通过两个联接执行所需的操作:

SELECT d3.VALUE, d4.value, u.user_email
FROM wp_users u JOIN
     wp_cimy_uef_data d3
     ON u.ID = d3.USER_ID and d3.field_id = 3 JOIN
     wp_cimy_uef_data d4
     ON u.ID = d4.USER_ID and d4.field_id = 4;


请注意使用表别名来区分表的两个版本。

关于mysql - SQL-来自多个表的信息,具有相同字段的两个变体。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25818174/

10-16 18:56