sql server - Display only first row in SQL -
this question has answer here:
i'm joining 2 tables , displaying data invnumber, invamount , jobnumber. need display invnumber , invamount in first row. invoice has multiple job numbers should displayed.
here ddl
declare @date datetime; set @date = getdate(); declare @test_data table ( dt_id int identity(1,1) not null primary key clustered ,invnumber varchar(10) not null ,invamount varchar(10) not null ,jobnumber varchar(10) not null ); insert @test_data (invnumber, invamount,jobnumber) values ('70001', '12056','j65448') ,('70001', '12056','j12566') ,('70001', '12056','j35222') ,('70001', '12056','j45222') ,('70001', '12056','456855') ,('70001', '12056','j55254') ; select j.dt_id ,invnumber ,invamount ,jobnumber @test_data j
you can row_number , case expressions.
select dt_id, case when rn = 1 invnumber else '' end invnumber, case when rn = 1 invamount else '' end invamount, jobnumber (select dt_id, invnumber, invamount, jobnumber, row_number() on (partition invnumber,invamount order dt_id) rn @test_data ) j
Comments
Post a Comment