我有两张 table 。如果我的第二个表是空的,我的请求返回零行 - 不是......我该如何解决这个问题?
表:用户
id username name email
1 myuname myname myemail@domain.com
表:账户
customerid phone params
1 +1111 NULL
我的sql请求如下:
SELECT
A.phone,
A.params,
U.email,
U.username,
U.name
FROM `account` A, `users` U
WHERE A.customerid = U.id LIMIT 1';
如果我的帐户表为空而用户表不是,则上面的请求返回零行... 我怎么解决这个问题? 谢谢。
最佳答案
您可以使用 LEFT JOIN:
SELECT
A.phone,
A.params,
U.email,
U.username,
U.name
FROM
`account` A LEFT JOIN `users` U ON A.customerid = U.id
LIMIT 1
LEFT JOIN 将选择第一个表中的所有行,并且仅选择第二个表中匹配的行。如果不匹配,U.email、U.username 和 U.name 将为 NULL。
关于php - 当一个表为空时从两个表请求mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374559/