将不同行的布尔结果合并到单行中
我有一个返回多行的连接查询
ID SearchID Bool1 Bool2 Bool2
1 1 1 1 0
1 1 0 0 0
5 1 1 0 0
6 1 0 0 0
9 1 0 0 0
第一列 ID 可以省略,这让我们得到
SearchID Bool1 Bool2 Bool2
1 1 1 0
1 0 0 0
1 1 0 0
1 0 0 0
1 0 0 0
由于返回的所有数据都适用于 SearchID 1,我希望最终得到一行,该行将合并所有布尔字段的结果即
SearchID Bool1 Bool2 Bool2
1 1 1 0
IsButton 应该为 1,因为有一行或多行为 1 AutoRun 应为 1,因为有一行或多行为 1 IsOnMain 应该为 0,因为没有包含 1 的行,
但我想为可能已返回的多行处理此问题,并且我希望为每个 searchid 最终得到一个唯一的行,
ID SearchID Bool1 Bool2 Bool2
1 1 1 1 0
1 1 0 0 0
5 1 1 0 0
6 1 0 0 0
9 1 0 0 0
3 2 0 0 0
5 2 0 0 0
3 3 0 0 0
9 3 0 0 1
etc...
SearchID Bool1 Bool2 Bool2
1 1 1 0
2 0 0 0
3 0 0 1
etc...
我这样做有意义吗?
I have a join query which returns multiple rows
ID SearchID Bool1 Bool2 Bool2
1 1 1 1 0
1 1 0 0 0
5 1 1 0 0
6 1 0 0 0
9 1 0 0 0
The first column ID can be omitted, which leaves us with
SearchID Bool1 Bool2 Bool2
1 1 1 0
1 0 0 0
1 1 0 0
1 0 0 0
1 0 0 0
Since all the data returned applies to SearchID 1, I would like to end up with a row that will merge the results of all the boolean fields i.e.
SearchID Bool1 Bool2 Bool2
1 1 1 0
IsButton should be 1 as there was one or more row with 1
AutoRun should be 1 as there was one or more row with 1
IsOnMain should be 0 as there was no rows with 1
but I want handle this for multiple rows that may have been returned and I want to end up with a unique row for each searchid
ID SearchID Bool1 Bool2 Bool2
1 1 1 1 0
1 1 0 0 0
5 1 1 0 0
6 1 0 0 0
9 1 0 0 0
3 2 0 0 0
5 2 0 0 0
3 3 0 0 0
9 3 0 0 1
etc...
SearchID Bool1 Bool2 Bool2
1 1 1 0
2 0 0 0
3 0 0 1
etc...
Am I making sense?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您使用的是 BIT 数据类型,则无法直接对其使用 SUM 或 MAX 函数。您必须先将其转换。
If you are using a BIT data type then you can't make use of SUM or MAX function on it directly. You have to convert it first.