【发布时间】:2021-12-07 22:28:22
【问题描述】:
表格数据如下:
输入:
version value code type year
PMS 0.00 01 HOURS 2006
000 312.00 01 HOURS 2006
000 0.00 04 HOURS 2006
PMS 0.00 01 NON STOCK 2006
000 835.00 01 NON STOCK 2006
000 835.00 04 NON STOCK 2006
000 0.00 04 HOURS 2007
我需要根据代码(01和04)拆分表格并获取相应的数据,然后将两个结果连接起来。所以我的输出应该如下所示
预期输出:
version value code type year version value code type year
PMS 0.00 01 HOURS 2006 000 0.00 04 HOURS 2006
000 312.00 01 HOURS 2006 000 835.00 04 NON STOCK 2006
PMS 0.00 01 NON STOCK 2006 000 0.00 04 HOURS 2007
000 835.00 01 NON STOCK 2006 null null null null null
我按照这篇文章尝试了 row_num 方法 How join two tables using SQL without a common column
但我的输出是这样的:
version value code type year version value code type year
PMS 0.00 01 HOURS 2006 000 0.00 04 HOURS 2006
000 312.00 01 HOURS 2006 000 835.00 04 NON STOCK 2006
我正在使用 Azure 数据块(SQL-Server)
提前致谢!!
【问题讨论】:
-
是的,但我们需要查看您的实际查询,而不仅仅是对对您有帮助的问题的参考。
-
把所有需要的东西都放在你的帖子里。只提供您需要的东西并将其与您的问题联系起来。不要指望我们在别处读到一些东西或猜测哪一部分是相关的。 PS请避免谢谢等。
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&运行代码;具有期望和实际输出的示例输入(包括逐字错误消息);标签和版本;明确的规范和解释。对于包含最少代码的错误,您可以给出的代码是您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于 SQL 包括 DDL 和表格初始化代码。当你得到一个你不期望的结果时,暂停你的总体目标,切到第一个具有意外结果的子表达式并说出你的期望和原因,并通过文档证明是合理的。 How to AskHelp center
-
你甚至没有解释数据匹配规则。从给出的例子来看,这一行为什么以及如何匹配“000 312.00 01 HOURS 2006 000 835.00 04 NON STOCK 2006”并不明显(至少对我而言)
标签: sql sql-server azure join