我在sql查询中遇到了一个小问题,
下面是查询
SELECT events.event_id,
( SELECT favorite_events.event_id,
(CASE favorite_events.event_id WHEN NULL THEN 0 ELSE 1 END)
FROM favorite_events
WHERE favorite_events.event_id = events.event_id
) AS is_favorite
FROM events
WHERE start_date = 2013-07-16它给了我“操作数应该包含1列”错误,请帮助!
发布于 2013-07-16 17:38:29
使用联接,而不是相关子查询。
SELECT e.event_id,
f.event_id IS NOT NULL AS is_favorite
FROM events e
LEFT JOIN favorite_events f
ON f.event_id = e.event_id
WHERE e.start_date = '2013-07-16'发布于 2013-07-16 17:35:40
在子查询中,您将选择2列。不能将2个列重命名为is_favorite。
我假设,通过查看查询,您可能不需要字段favorite_events.event_id。去掉那部分就行了。
https://stackoverflow.com/questions/17672918
复制相似问题