簡體   English   中英

SQL查詢顯示左聯接沒有結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM