2013-03-31 61 views
0

我有2個表,表A和表BMySQL返回的結果爲空(即零行)

表A包含列LItems

表B包含列BItems

LItems和BItems都具有各種物品只有幾個是相同的,我只需要返回LItem中的匹配項目,這些匹配項目位於BItems中。

我已經試過

從 '表A' WHERE 'LItems' IN(SELECT 'BItems' 從 '表B')

但這說,這是空的,當我知道有項目選擇 'LItems'兩者都是同名的。

我也嘗試過=而不是IN,這沒有帶回任何東西,並嘗試了INNER JOINS,但這也沒有帶來任何回報。當我自己運行每個select語句並查看時,我可以看到應該有兩個結果。

+0

除了你不在列上使用單引號的小例外(我認爲這是一個錯字或反引號),機會是你的數據與LItems和BItems不完全一樣...... – sgeddes

+0

你能重現它嗎在sqlfiddle.com? – Barmar

回答

0

你爲什麼在查詢中引用了一些東西?你應該能夠使用以下內容:

SELECT 
    LItems 
FROM 
    TableA 
WHERE 
    LItems IN (SELECT BItems FROM TableB); 

我會建議一個內部連接,而不是先嚐試這個嘗試。你也確定名字完全一樣嗎?您可以嘗試使用lower()或另一個函數來刪除空白或大寫差異。

+0

感謝您的快速回復。不幸的是,這回歸零結果。我會試着找出關於這個新的這個lower(),我想你也許是對的。我看過每個人的結果,他們看起來都一樣。 –

+0

我剛剛發現了白色空間。我會讓你知道我如何繼續,謝謝 –