即使第一个表为空,也要选择多行mysql

时间:2018-08-06 09:26:28

标签: mysql wordpress

我在wordpress网站上遇到了问题。我从一页有多个选择mysql查询,然后决定合并,因为它来自同一张表。但是问题在于,当第一个选定的表为空时,所有其他行都会受到影响并变为空。如果第一个选择表具有值,则将显示其他选择的行。

这是我的示例mysql查询代码:

SELECT u1.meta_value as name, u2.meta_value as birthday,
u3.meta_value as place
FROM wp_usermeta u1 
LEFT JOIN wp_usermeta u2 ON u1.user_id = u2.user_id
LEFT JOIN wp_usermeta u3 ON u1.user_id = u3.user_id
WHERE u1.user_id = 1092
AND u1.meta_key = 'name' AND u2.meta_key = 'birthday' AND u3.meta_key = 'place'

1 个答案:

答案 0 :(得分:0)

您可以使用union和第二个查询作为下面的右连接示例代码

  • LEFT JOIN关键字返回左表中的所有记录 (表1),以及右表(表2)中的匹配记录。的 如果没有匹配项,则结果从右侧为NULL。
  • UNION运算符用于合并两个或多个结果集 SELECT语句。

  • UNION中的每个SELECT语句必须具有相同数量的 列    这些列还必须具有相似的数据类型    每个SELECT语句中的列也必须具有相同的顺序

        select t1.* from t1 left join t2 on t1.id=t2.id
        union
        select t2.* from t1 right join t2 on t1.id=t2.id