我用的是灯。在MySql中,我有一个列X、Y和Z的表。我需要从多个集合和子集中选择不同的记录。如果我最初的标准是Y=A,那么我需要能够:
这张桌子可能会变大,我不知道从哪里开始。一些可能的办法是:
我倾向于第四种选择,但不是百分之百肯定。我在重新发明方向盘吗?
非常感谢..。
发布于 2012-12-16 17:29:38
我不明白你的目标,因为你还没有定义对X的限制,但是从你的描述来看,我相信集合E是空的。我这么说是因为集合D已经包含Z为456的行。因此,当您在该结果集上运行另一个查询以为Z为789的条件生成E时,您将不会得到任何行,因为D中的所有行都是456。
现在谈一谈个人意见:
为了突出上面的第4项,我想提到,在D的示例中,您可以编写以下查询,而不需要子查询或任何其他临时存储:
SELECT * FROM MyTable WHERE Y = A AND Z = 456
现在,也许我可以通过猜测你想要的东西来解决你的困境:
SELECT * FROM MyTable WHERE Y = A AND Z IN (123, 456, 789)
或者:
SELECT * FROM MyTable WHERE Y = A AND (Z = 123 OR Z = 456 OR Z = 789)
希望这能有所帮助
https://stackoverflow.com/questions/13906154
复制