2013-01-22 133 views
0

我想在MySQL中做一个多选,但没有任何的喜悦。我在这里和网络上尝试了以下示例,但它们并没有适合我想要做的事情。多个选择在一个查询

我的选择语句如下

SELECT a.* FROM Calendar a 
WHERE a.CalendarId = 256 AND a.Private = 0 
UNION 
SELECT b.* FROM Calendar b 
WHERE b.CalendarId = 256 AND b.Private = 1 AND b.PrivateId = 11 

要解释,我想以上的东西,我想回有0

私有值我也想过滤所有日历行通过只选择那些具有PrivateId = 11(在此示例中)的Private = 1

感谢

+0

我想你想的'INTERSECTION'不是'UNION' ... –

+1

什么之间你所期望的,差异的真实的例子,你累了 – Hitman47

+0

@ Hitman47我试图使用JOIN –

回答

3

尝试:

SELECT * 
FROM Calendar 
WHERE CalendarId = 256 
    AND (Private = 0 OR (Private = 1 AND PrivateId = 11)) 
+0

新格式使其更糟糕:)我会保留它2班轮,但将CalendarId移动到第一行 –

+0

这是完美的谢谢!我想我试图将它过度复杂化。 –