[英]SQL Query shows no result with left join
我有以下查詢:
SELECT u.user_id, u.username, u.email
hp.homepage_id
FROM table_u u
LEFT JOIN table_hp hp
ON (u.user_id = hp.user_id)
WHERE u.blocked = 'N'
AND u.email LIKE 'someemailaddress'
我正在加入user_id列,對於給定的emailadress,我知道兩個屬性都相同,因此我應該得到一個結果,但仍然沒有任何結果...所以此查詢出了什么問題?
在LIKE子句的前后放置'%'-參見下文
SELECT u.user_id, u.username, u.email
hp.homepage_id
FROM table_u u
LEFT JOIN table_hp hp
ON (u.user_id = hp.user_id)
WHERE u.blocked = 'N'
AND u.email LIKE '%someemailaddress%'
您是否嘗試了沒有LEFT JOIN的查詢?
SELECT u.user_id, u.username, u.email
FROM table_u u
WHERE u.blocked ='N'
AND u.email LIKE 'someemailaddress'
它返回任何結果嗎? 因為LEFT JOIN只是將數據添加到“基本表”中的現有數據中..因此,如果LEFT JOIN在table_hp中未找到任何user_id,則應該返回一些數據,如果上面的查詢中有一些數據
關鍵是如何在數據庫中存儲一些數據...似乎在應用程序的舊(原始)版本中存儲的數據沒有適當的修整等。問題是該字段使用空格存儲...
愚蠢...應該/必須檢查已存儲的實際數據...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.