2017-05-18 8 views
-1

SQL Server Management Studioを初めて使用しています。テーブルに参加して特定のクエリを達成する際に問題が発生しています。私は質問のフォーラムを見て回っていて、うまくいく解決策を見つけられないようです。私は2つのテーブルと私が得ようとしているクエリを持つイメージを添付しました。SQL Server管理スタジオは重複した値に対してnullを表示します

tables

パレット番号が重複すると、タグ名はNULLになります。私がいずれかの結合(右または左)を使用するためには、私はON句が必要であることを知っていますが、私の2番目のテーブルでは、Idという列はありません。

+1

ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

答えて

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 
関連する問題