首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >查询返回两个不同的行,即使我使用了UNION

查询返回两个不同的行,即使我使用了UNION
EN

Stack Overflow用户
提问于 2014-08-11 22:08:10
回答 1查看 56关注 0票数 0

我把union放在两个select查询中,但是它仍然返回两行,它应该返回1行,因为我对它使用了union。为什么它返回两个不同的行?它应该返回单行而不是2行。

查询

代码语言:javascript
运行
AI代码解释
复制
ALTER PROCEDURE [dbo].[usp_GetUserProject]       
 (      
 @User_ID int=2
 )      
AS      
BEGIN      
       if @User_ID !=0
       begin
 select distinct (x.Project_ID),x.ProjectName,x.ID,x.IsSource,x.IsDeployement 
   from
    (
     select p.Project_ID, cp.ProjectName  
           ,ISNULL(pa.IsSource,'false') as IsSource   
           ,isnull(pa.IsDeployement,'false') as IsDeployement  
           ,ISNULL(pa.ID,0) AS ID      
     from Project p   
     inner join ProjectAssigment pa      
     on p.Project_ID =pa.Project_ID  
     --and p.UserID=pa.User_ID      
     inner join WebUsers u    
     on p.UserID=u.UserID     
     inner join ClientProjects cp      
     on cp.ClientProjectID=p.Project_ID      
     where pa.User_ID=@User_ID 
     --and pa.IsSource=1 and pa.IsDeployement=1
     union 
     select  p.Project_ID, cp.ProjectName  
            ,ISNULL(pa.IsSource,'false') as IsSource  
            ,isnull(pa.IsDeployement,'false') as IsDeployement  
            ,ISNULL(pa.ID,0) AS ID      
     from Project p   
     inner join ClientProjects cp      
     on cp.ClientProjectID=p.Project_ID
     left join ProjectAssigment pa      
     --on pa.Project_ID=p.Project_ID 
     on pa.User_ID=p.UserID        
     left  join WebUsers u    
     on pa.User_ID=u.UserID     
     and u.UserID!=@User_ID 
   ) as x
  group by x.Project_ID,x.ProjectName,x.ID,x.IsDeployement,x.IsSource
  end  
END
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 22:12:57

如果两个select查询的值不同,它将返回两行--如果相同,则在使用UNION时返回单行。UNION删除集合中的重复项,执行set联合操作。

您需要使用UNION ALL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25257255

复制
相关文章
SQL用了Union后的排序问题
最近使用SQL语句进行UNION查询,惊奇的发现:SQL没问题,UNION查询也没问题,都可以得到想要的结果,可是在对结果进行排序的时候,却出问题了。
全栈程序员站长
2022/07/07
1.3K0
SQL用了Union后的排序问题
优化查询性能:UNION与UNION ALL的区别
在SQL查询中,当我们需要合并多个查询结果集时,我们通常会使用UNION和UNION ALL操作符,同时,如果你写的or语句不走索引,可以考虑使用UNION、UNION ALL优化。
关忆北.
2023/10/11
1.6K0
优化查询性能:UNION与UNION ALL的区别
MySQL 联合查询 union
现在有个需求: 一条 SQL 查出 所有女生用户 和 发布的文章点击量超过 100 的用户 的 id,name,gender 字段
很酷的站长
2022/12/16
1.6K0
MySQL 联合查询 union
Oracle Union Union All 对查询结果集操作
在Oracle中提供了三种类型的集合操作: 并(UNION)、交(INTERSECT)、差(MINUS)
翎野君
2023/05/12
6240
Oracle Union Union All 对查询结果集操作
SpringDataJPA笔记(13)-Union查询
在JPA中,对Union查询可以通过两种方式,一种是通过Inheritance的注解来实现,一种是通过子查询来实现,个人觉得子查询的方式更加灵活一点
yingzi_code
2020/04/22
1.4K0
SpringDataJPA笔记(13)-Union查询
为什么我使用了索引,查询还是慢?
经常有朋友问到:我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。
java进阶架构师
2020/11/04
5580
为什么我使用了索引,查询还是慢?
为什么我使用了索引,查询还是慢?
点击上方蓝色“程序猿DD”,选择“设为星标” 回复“资源”获取独家整理的学习资料! 作者 | 张飞洪 来源 | cnblogs.com/jackyfei/p/12122767.html 经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Linq查询能力很强另当
程序猿DD
2023/04/17
2320
为什么我使用了索引,查询还是慢?
为什么我使用了索引,查询还是慢?
首先SQL判断一个语句是不是慢查询语句,用的是语句的执行时间。他把语句执行时间跟long_query_time这个系统参数作比较,如果语句执行时间比它还大,就会把这个语句记录到慢查询日志里面,这个参数的默认值是10秒。当然在生产上,我们不会设置这么大,一般会设置1秒,对于一些比较敏感的业务,可能会设置一个比1秒还小的值。
Java_老男孩
2020/02/18
2.4K0
为什么我使用了索引,查询还是慢?
为什么我使用了索引,查询还是慢?
经常有同学疑问,为什么有时候一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。
青阳
2022/02/07
1K0
解锁WiFi密码,我只用了60行代码
WiFi现在已经遍布我们生活方方面面,如今,如论到工作单位,还是租住的房子,或者一家餐厅,随处都可以连上WiFi。 因此,我们对WiFi密码的需求也没有之前那么迫切了。 如何连接WiFi密码? 本文,将会通过Python教大家如何实现,这里纯粹是为了学习用途。
iOS程序应用
2023/04/13
5220
解锁WiFi密码,我只用了60行代码
解锁WiFi密码,我只用了60行代码
这里,要用到Github上一个项目,它收集了最常用的10万个WiFi密码。我们就用着10万个密码暴力解锁WiFi即可。
iOS Magician
2023/03/22
8660
解锁WiFi密码,我只用了60行代码
SQL学习之组合查询(UNION)
1、大多数的SQL查询只包含从一个或多个表中返回数据的单条SELECT语句,但是,SQL也允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并或复合查询。 主要有两种情况需要使用组合查询: (1)在一个查询中从不同的表返回结构数据 (2)对一个执行多个查询,按一个查询返回数据 2、使用UNION 使用UNION很简单,所要做的只是给出每条SELECT语句,然后再每条SELECT语句之间加上UNION关键字,这样所给出的SELECT结果集就能组合成一个结果集并返回。
郑小超.
2018/01/24
1.4K0
SQL学习之组合查询(UNION)
union 分页/group/join 复杂查询(.net core/framework)
### union 分页/group/join 复杂查询(.net core/framework)
用户8604107
2021/07/08
6950
方应航:我用了两个月的时间才理解 let
戳蓝字“IMWeb前端社区”关注我们哦! 关于作者 方应航,JavaScripter、Web 开发。曾供职于腾讯、阿里巴巴。现在饥人谷给新人讲故事。知乎早期段子手。 1写在前面 当然不是说用完整的两个月时间来理解 let,而是零零碎碎地理解,同时我还要想着怎么写出一篇文章把这个事情说清楚。 在 let 刚出来的时候,我就「以为」我理解了 let。然鹅在过去的两个月里,我对 let 的理解发生了一波三折的变化。 我写这篇文章,是希望我的学习过程,能对你自学有帮助。 2初识let 跟很多人一样,我第一次了解
用户1097444
2022/06/29
5850
方应航:我用了两个月的时间才理解 let
为什么我使用了索引,查询还是慢?「建议收藏」
经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考我的另外一篇<ORM的权衡和抉择>。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Linq查询能力很强另当别论),因为ORM屏蔽了太多的DB底层的知识内容,对程序员不是件好事,对性能有极致追求,但是ORM理解不透彻的团队更加要谨慎。
全栈程序员站长
2022/02/14
4640
为什么我使用了索引,查询还是慢?「建议收藏」
MySQL学习笔记汇总(二)——分组查询、连接查询、union
今天的分享就到这里啦!!~感谢大家的观看,希望对大家有帮助的话麻烦给个丝滑三连击。(点赞+转发+关注) 一起加油,一起努力,一起秃见成效!
百思不得小赵
2022/12/01
2K0
MySQL学习笔记汇总(二)——分组查询、连接查询、union
第14课 组合查询创建组合查询union的使用规则
组合查询很容易理解就是讲多个查询的结果放在一起显示 使用UNION关键字进行查询的组合
desperate633
2018/08/22
9820
限制 SQL 返回行
您可以通过特定的行数或行的百分比来限制从 SQL 查询返回的行。在某些情况下,您可能需要在返回的行数受到限制之前对查询结果进行排序。
Yunjie Ge
2023/09/01
2140
限制 SQL 返回行
我用了十行代码,实现了微言码道网站的暗黑模式
现在无论是做一个网站,或是一个App,基本上你都需要考虑暗黑模式。支持暗黑模式已经成为时下的一种标准了。
御剑
2022/11/18
3720
我用了十行代码,实现了微言码道网站的暗黑模式
ThinkPHP5 多表关联查询的方法 join查询两个数据库表,查询结果拼接返回
德宏大魔王
2023/08/08
6150
ThinkPHP5 多表关联查询的方法 join查询两个数据库表,查询结果拼接返回

相似问题

返回尚未返回的UNION查询中的行

11

Union / Union All使查询速度变慢

10

Oracle SQL - UNION所有返回行,即使它们不存在

32

UNION返回零行

212

为什么我的SQL Union查询返回的值与手动选择的查询不同?

311
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文