2014-06-14 215 views
3

我有子查詢以下查詢返回任何結果MySQL查詢返回0

SELECT 'Message' 
FROM message 
WHERE ID in (
SELECT 'Message_id' 
FROM user_message 
WHERE 'status' =false) 

數據在兩個表中是存在的。可能是什麼問題呢?

+0

這應該是'從消息選擇消息其中id在'(從USER_MESSAGE其中狀態=假選擇MESSAGE_ID)。沒有單引號,但是可以在列名上有後面的記號。 –

+0

@ t.niese:我知道。但我不認爲這是OP的意圖。 OP在不知不覺中可能會這樣做。請參閱其他欄中的類似用法。 –

回答

2

你爲什麼使用子查詢?

爲什麼不

SELECT Message 
FROM message JOIN user_message ON ID = Message_id 
WHERE status = false 

似乎簡單

+0

back-ticks應該替換單引號。 –

+0

@Ravinder - 我知道。錯過了一些 –

1

你引用了這些字段。要麼不要引用字段,要麼像這樣使用剔號逃脫你的領域

SELECT `Message` 
FROM message 
WHERE ID in (
    SELECT `Message_id` 
    FROM user_message 
    WHERE `status` =false) 
+0

我更喜歡這個解決方案。如果'user_message'中有多個匹配項,它將不會生成重複項。 –