我是SQL Server Management Studio的新手,我在连接表和实现特定查询时遇到了一些问题。我在问题论坛上四处寻找,似乎无法找到有效的解决方案。我附加了一个包含两个表的图像和我想要获得的查询。
基本上,如果托盘编号重复,标签名称将为NULL
。为了让我使用任何连接(向右或向左),我知道我需要一个ON
子句,但在我的第二个表中,我没有Id
列用于它。
答案 0 :(得分:0)
我之所以这样做,是因为我发现这是一个奇怪的问题。请务必仔细阅读Sean's评论。
declare @table1 table (id int, palletNumber int)
insert into @table1 values
(1000,1),
(2000,1),
(3000,2),
(4000,1)
declare @table2 table (tagName varchar(16), tagType varchar(8))
insert into @table2 values
('name 1','int'),
('name 2','real'),
('name 3','int'),
('name 4','int')
select
id,
palletNumber,
case when id = min(id) over (partition by palletNumber order by palletNumber) then tagName else null end as tagName
from
@table1
cross join @table2
order by
id, tagName