sql C 如何将此LEFT JOIN返回的行数限制为一个?
发布时间:2023-12-15 05:12:52 所属栏目:MsSql 来源:DaWei
导读: 所以我认为我已经看到了解决方案,但它们都是非常复杂的查询.我在oracle 11g中作为参考.
我所拥有的是一个简单的一对多联接,但是我不需要那么多.我只是希望左表(一个)只加入满足连接条件
我所拥有的是一个简单的一对多联接,但是我不需要那么多.我只是希望左表(一个)只加入满足连接条件
|
所以我认为我已经看到了解决方案,但它们都是非常复杂的查询.我在oracle 11g中作为参考. 我所拥有的是一个简单的一对多联接,但是我不需要那么多.我只是希望左表(一个)只加入满足连接条件的任何1行…不是很多行. 我需要这样做,因为查询是汇总的,因此如果我做正常的左连接,我得到5行,我应该得到1. 所以示例数据如下: TABLE 1: ------------- TICKET_ID ASSIGNMENT 5 team1 6 team2 TABLE 2: ------------- MANAGER_NAME ASSIGNMENT_GROUP USER joe team1 sally joe team1 stephen joe team1 louis harry team2 ted harry team2 thelma我需要做的是在ASSIGNMENT = ASSIGNMENT_GROUP上加入这两个表,但只返回1行. 当我做左连接时,我得到三行返回beaucse,这是hte left join的本质 解决方法 如果oracle支持行号(分区依据),则可以创建一个子查询,选择行等于1的位置. SELECT * FROM table1 LEFT JOIN (SELECT * FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY assignmentgroup ORDER BY assignmentgroup) AS Seq FROM table2) a WHERE Seq = 1) v ON assignmet = v.assignmentgroup(编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server-2008-r2 – SQL Server – 任何人都使用SUMA,跟
- sql-server C 什么是LINQ相当于SQL的“IN”关键字
- 在SQL Server 2005中,如何使用列值作为xml元素名称?
- sql-server – 在启动脚本/配置文件中存储数据库密码的最佳
- sql-server – 如何在没有CLR的SQL Server 2008中调试存储过
- sql-server C Visual Studio SSDT数据比较如何比较单个数据
- SQL大全基本语法
- MsSql教程:数据库管理与维护最佳实践
- Sql Server Decimal(30,10)丢失最后2位小数
- sql – 当Twitter说他们的整个数据库在RAM中时意味着什么?
推荐文章
站长推荐
