sql server management studio对重复值显示null

时间:2017-05-18 18:56:46

标签: sql-server

我是SQL Server Management Studio的新手,我在连接表和实现特定查询时遇到了一些问题。我在问题论坛上四处寻找,似乎无法找到有效的解决方案。我附加了一个包含两个表的图像和我想要获得的查询。

tables

基本上,如果托盘编号重复,标签名称将为NULL。为了让我使用任何连接(向右或向左),我知道我需要一个ON子句,但在我的第二个表中,我没有Id列用于它。

1 个答案:

答案 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