convert an sql result having multiple rows to single row -


hi want convert sql result having multiple rows single row eg query

select  samplesitename       , altitude       , latitude       , longitude    samplesite]   samplesiteid in (select samplesiteid                            sample]                           projectid = 2453); 

returns below result

+-------------------------------+----------+-------------+-------------+ |        samplesitename         | altitude |  latitude   |  longitude  | +-------------------------------+----------+-------------+-------------+ | sava - jamena - 02            |       84 | 44.87833333 | 19.08916667 | | sava - jamena - 03            |       84 | 44.87833333 | 19.08916667 | | sava - jamena - 04            |       84 | 44.87833333 | 19.08916667 | | sava - sremska mitrovica - 02 |       80 | 44.96527778 | 19.60027778 | | sava - sremska mitrovica - 03 |       80 | 44.96527778 | 19.60027778 | | sava - sremska mitrovica - 04 |       80 | 44.96527778 | 19.60027778 | | sava - sabac - 01             |       79 | 44.77138889 | 19.70444444 | | sava - sabac - 02             |       79 | 44.77138889 | 19.70444444 | | sava - sabac - 03             |       79 | 44.77138889 | 19.70444444 | | sava - ostruznica - 02        |       78 | 44.72194444 | 20.30416667 | | sava - ostruznica - 03        |       78 | 44.72194444 | 20.30416667 | +-------------------------------+----------+-------------+-------------+ 

i want query return me me single row each combination of altitude, latitude , longitude. result want

+---------------------------------+----------+-------------+-------------+ |         samplesitename          | altitude |  latitude   |  longitude  | +---------------------------------+----------+-------------+-------------+ | sava - jamena - 02,             |          |             |             | | sava - jamena - 03,             |          |             |             | | sava - jamena - 04              |       84 | 44.87833333 | 19.08916667 | +---------------------------------+----------+-------------+-------------+ | sava - sremska mitrovica - 02,  |          |             |             | | sava - sremska mitrovica - 03,  |          |             |             | | sava - sremska mitrovica - 04   |       80 | 44.96527778 | 19.60027778 | +---------------------------------+----------+-------------+-------------+ | sava - sabac - 01,              |          |             |             | | sava - sabac - 02,              |          |             |             | | sava - sabac - 03               |       79 | 44.77138889 | 19.70444444 | +---------------------------------+----------+-------------+-------------+ | sava - ostruznica - 02          |          |             |             | | ,sava - ostruznica - 03         |       78 | 44.72194444 | 20.30416667 | +---------------------------------+----------+-------------+-------------+ 

i want generic query provide me above result . appreciated

if understood structure properly, should that.

i tested on sql server did not indicate assumption.

select         left(main.samplen,len(main.samplen)-1) "samplen",        main.altitude,main.latitude,main.longitude     (         select distinct st2.altitude,st2.latitude,st2.longitude,            (                 select st1.samplesitename + ',' [text()]                 dbo.samplesite st1                                        st1.altitude = st2.altitude                        , st1.latitude = st2.latitude                        , st1.longitude = st2.longitude                       , st1.samplesiteid in (select samplesiteid                                             sample                                            projectid=2453)                 order st1.altitude,st1.latitude,st1.longitude                 xml path ('')             ) [samplen]       dbo.samplesite st2        st2.samplesiteid in (select samplesiteid                                             sample                                            projectid=2453)    ) [main] 

for full list of test, used this:

create table sample (   projectid int,   samplesiteid int, );    create table samplesite (  samplesiteid int,  samplesitename varchar(35),  altitude int,  latitude decimal(18,9),  longitude decimal(18,9),  projectid int           ); insert sample values (2453, 1), (2453, 2), (2453, 3),        (2453, 4), (2453, 5), (2453, 6),        (2453, 7), (2453, 8), (2453, 9),        (2453, 10), (2453, 11), (1234, 12); insert samplesite values        (1, 'sava - jamena - 02', 84, 44.87833333 , 19.08916667 ,2453 ), (2, 'sava - jamena - 03', 84, 44.87833333 , 19.08916667 ,2453 ), (3, 'sava - jamena - 04', 84, 44.87833333 , 19.08916667 ,2453 ), (4, 'sava - sremska mitrovica - 02', 80 ,44.96527778,19.60027778 ,2453 ), (5, 'sava - sremska mitrovica - 03', 80 ,44.96527778,19.60027778 ,2453 ), (6, 'sava - sremska mitrovica - 04', 80 ,44.96527778,19.60027778 ,2453 ), (7, 'sava - sabac - 01', 79 , 44.77138889 ,19.70444444 ,2453 ), (8, 'sava - sabac - 02', 79 , 44.77138889 ,19.70444444 ,2453 ), (9, 'sava - sabac - 03', 79 , 44.77138889 ,19.70444444 ,2453 ), (10, 'sava - ostruznica - 02', 78 ,44.72194444 ,20.30416667 ,2453 ), (11, 'sava - ostruznica - 03', 78 ,44.72194444 ,20.30416667 ,2453 ), (12, 'sava - test - 04', 79 ,44.38822842 ,20.12345678 ,1234 );   select         left(main.samplen,len(main.samplen)-1) "samplen",        main.altitude,main.latitude,main.longitude     (         select distinct st2.altitude,st2.latitude,st2.longitude,            (                 select st1.samplesitename + ',' [text()]                 dbo.samplesite st1                                        st1.altitude = st2.altitude                        , st1.latitude = st2.latitude                        , st1.longitude = st2.longitude                       , st1.samplesiteid in (select samplesiteid                                             sample                                            projectid=2453)                 order st1.altitude,st1.latitude,st1.longitude                 xml path ('')             ) [samplen]       dbo.samplesite st2        st2.samplesiteid in (select samplesiteid                                             sample                                            projectid=2453)    ) [main] 

Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -