Quantcast
Channel: ฟอรัม Getting started with SQL Server
Viewing all articles
Browse latest Browse all 8428

SQL: what is a quick way to get query result?

$
0
0

There are three tables

Create Table InputItems ( ItemID int Primary key, Name nvarchar(250)) Insert into InputItems values (1, 'Raw1') Insert into InputItems values (2, 'Raw2') Insert into InputItems values (3, 'Raw3') select * from InputItems Create Table TestItems ( ItemNumber int Primary key, ItemName nvarchar(250), ItemID int) Insert into TestItems values (111, 'Test1', 1) Insert into TestItems values(112, 'Test2', 2) Insert into TestItems values (113, 'Test3', 3) Insert into TestItems values (114, 'Raw1', 1) Insert into TestItems values (115, 'Raw2', 2) Insert into TestItems values (116, 'Raw', 3) select * from TestItems Create Table ResultItems ( ItemNumber int Primary key, Name nvarchar(250)) select * from ResultItems delete from ResultItems declare @Temp table (ItemNumber int, ItemID int) Insert into @Temp select t.ItemNumber, t.ItemID from InputItems i inner join TestItems t on i.ItemID = t.ItemID and i.Name = t.ItemName --found those not match one

Insert into ResultItems Select t.ItemNumber, t.ItemName from InputItems i inner join TestItems t on i.ItemID = t.ItemID and i.Name <> t.ItemName

-- delete those items which ItemID already matched

Delete from ResultItems where ItemNumber in (select it.ItemNumber from TestItems it inner join @Temp t on it.ItemID = t.ItemID) -- insert those matched ones

Insert into ResultItems select distinct t.ItemNumber, t.ItemName from InputItems i inner join TestItems t on i.ItemID = t.ItemID and i.Name = t.ItemName select * from ResultItems


from InputItems we want to get ResultItems table which by return all items in items table match with InputItems'ItemID and (Name matched or Name cannot find from Items table)

(114, Raw1) (115, Raw2) (113, Test3) (116, Raw)

The above bold lines are one of solution. We wonder is there simpler one than this one.

Thx!


JaneC





Viewing all articles
Browse latest Browse all 8428

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>