【发布时间】:2023-03-30 14:28:01
【问题描述】:
假设我有一个包含一组不同列的表(offcourse),
例子:
Table
id
col1 INTEGER(1), // 0 || 1
col2 // --||--
col3 // --||--
col4 // --||--
是否有可能,在 1 个查询中选择 col1=1 的 4 行,然后选择 col2=1 的 4 行,然后选择 col3=1 的 4 行等。我想你明白我的意思。
到目前为止,我所做的是进行 4 个不同的查询或进行一个查询,然后执行一个(col1 = 1 OR col2=1 OR... 等)。
这可行,但如果我将结果限制为 16,那么我可能会得到 15 行 col1=1 和可能 1 行 col2=1 然后 col3,col4 - 没有结果。
亲爱的小伙伴们;有没有办法在 1 个查询中做到这一点(我认为没有)
【问题讨论】:
-
你可以尝试使用
union子句。 Here -
这种问题有时是设计不佳的症状
-
您好!是的,我同意这一点。问题不存在开始。客户需求和快速修复的集成解决了这样的结构。然而,我正在考虑将查询结果保存到会话中,这样它就不会在每个请求上都经历所有这些事情。感谢您的回复