2013-05-04 48 views
0

我有兩個表。如果我的第二個表爲空並且第一個 - 我的請求將返回零行...如何解決此問題?當兩個表中的一個爲空時,mysql請求

表:用戶

id username name email 
1 myuname myname [email protected] 

表:佔

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'; 

以上返回請求零行,如果我的帳戶表爲空用戶表不是... 我該如何解決這個問題? 謝謝。

回答

2

您可以使用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 

左連接將選擇從第一個表上匹配第二個表中的所有行,只有行。如果不匹配,U.email,U.username和U.name將爲NULL。

1

您需要LEFT JOIN您的表格。

'account' a LEFT JOIN 'users' u ON u.id = a.customerid 
0

試試這個

SELECT 
    A.phone, 
    A.params, 
    U.email, 
    U.username, 
    U.name 
FROM account a 
LEFT JOIN users as u ON u.id = a.customerid; 
相關問題