如何在sql中加入时保持顺序
发布时间:2020-12-12 08:48:01 所属栏目:MsSql教程 来源:网络整理
导读:表1和表2的主键(key1,key2)是相同的.表3是用户定义的表,其中一个列field5对于table2是通用的.我需要从表1和表2中选择行,其中table2中的field5在table3中.我需要以与table3相同的顺序获取行. 表格1 key1 key2 field1 field2 表2 key1 key2 field3 field4 field
表1和表2的主键(key1,key2)是相同的.表3是用户定义的表,其中一个列field5对于table2是通用的.我需要从表1和表2中选择行,其中table2中的field5在table3中.我需要以与table3相同的顺序获取行.
表格1 key1 key2 field1 field2 表2 key1 key2 field3 field4 field5 用户定义的表 字段5 我正在考虑的问题是 select a.key1,a.key2,a.field1,a.field2,b.field3,b.field4 from table1 as a INNER JOIN table2 as b ON a.key1 = b.key1 AND a.key2 = b.key2 where b.field5 in (select field5 from table3) 这不会给我行与表3中相同的顺序. 我需要这样的东西来维持秩序吗? select a.key1,d.field3,d.field4 from table1 as a INNER JOIN (select b.key1,b.key2,b.field4 from table2 as b INNER JOIN table3 as c ON b.field5 = c.field5) as d WHERE a.key1 = d.key1 AND a.key2 = d.key2 解决方法订单仅在使用order by子句时在最终结果中提供.如果你想“按照与table3相同的顺序”,你必须编写一个正确的order by子句来重新创建table3中的顺序. 如果连接速度更快,则可以自由地对行进行加扰. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |