【发布时间】:2018-04-16 11:28:05
【问题描述】:
我想从具有相同条件的 WHERE 子句的 Select 语句中获取单独的结果集。显然也可能有不同的条件。这个查询是程序的一部分,所以它必须准确地给我我需要的东西。例如
SELECT * from MyTable
WHERE
x = 'DISPMSG' OR x = 'DISPMSG' OR x = 'DISPMSG' OR x = 'DISPMSG'
OR x = 'DISPMSG' OR x = 'RSSET';
这个查询给我带来的显然是 2 个结果集。但我想要的是它应该给我 same result 在大小为 5 和 1 的数组中设置不同的条件,因为 where 子句中有 5 + 1 个条件。我知道查询需要循环或其他东西,但无法找出正确的方法。
感谢您的帮助。
【问题讨论】:
-
SO 是ask GOOD questions 的一个很好的网站并获得答案:请务必提供完整的MCVE。在您提出问题之前,请考虑talking to the duck first。是的,我是认真的!为了帮助我们帮助您,生成样本数据和预期结果。 ascii table 使输出易于阅读!您还可以模拟数据并尝试使用rextester.com 或类似站点的 SQL。
-
我想你想要记录集中的 6 条记录 5 是 dispmsg 和 1 是 rsset。但是 where 子句过滤数据。因此,如果您没有 5+1 条记录,SQL 将不会创建它。现在....您可以交叉加入一个包含 5 条记录的表,并以某种方式将 dispmsg 计数为 5,将 rsset 复制记录计数为 1;但为什么?这种类型的操作在 UI 中处理得更好,而不是数据检索。当网络重复时,您为什么希望更多数据通过网络?当您可以获得较小的数据集并根据需要在 UI 中重复数据时,既发送数据又检索记录?
-
感谢您的回复。我知道这是一个愚蠢的问题,也许我没有正确解释。我在 sqlite 数据库上使用它。我在想可能有一种方法可以获取每个 where 子句的记录。现在我知道没有办法,必须全部使用联合。但它仍然比在 UI 上工作更快。再次感谢您。
标签: sql sqlite select duplicates where