2014-06-14 182 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'中有多个匹配项,它将不会生成重复项。 –