我正在使用LAMP。在MySql中,我有一个包含X,Y和Z列的表。我需要从多个集合和子集中选择不同的记录。如果我的初始标准是WHERE Y = A;然后我需要能够:
桌子可能会变得很大,我不确定从哪里开始。一些可能的方法是:
我倾向于选项4,但不是100%肯定。我重新发明了轮子吗?
非常感谢...
答案 0 :(得分:1)
我不理解你的目标,因为你没有对X进行限制,但是根据你的描述,我认为集合E是空的。我这样说是因为集合D已经包含Z为456的行。所以当你对该结果集运行另一个查询以生成Z为789的条件时,你不会得到任何行,因为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)
希望这有帮助