Autor Zpráva
opaj
Profil *
cau,

Prosim Vas vedeli by sste mi s tymto pomoct,


potrebujem vyselektovat data tak, ze mam viacej rovnakych datumov s datami jednej v tabulke a potrebujem ich dat do jednoho riadku.

Napr – Ulozene data v Tabulke sql (Jedna sa o jednu tabulku):



ID               DATUM            Cas                   

12345          1.7.2010          8:00:00              

12345          1.7.2010          9:00:00             

12345          1.7.2010          12:00:00          

12345          1.7.2010          15:00:00



Potrebujem aby sa to vyselektovalo takto, Porovna datum v kazdom riadku ak je viac rovnakych datumov tak casi sa daju do jedneho riadku

ale aby to nebolo obmedzene na stlpce, moze sa jednat aj o viac casov ako je v tabulke:



ID             DATUM      Cas1            Cas2           Cas3             Cas4     Cas5      

12345        1.7.2010      8:00:00     9:00:00     12:00:00     15:00:00    ........


Ja to viem spravit len takto, ale ja to potrebujem spravit dynamicky do nejakeho loopu(cyklu),
aby som tam nemal predefinovane tie casy lebo tych casov moze byt viac. Neviete mi stym pomoct?

select x.id, x.datum,MAX(cas1) as 
cas1,MAX(cas2)as cas2,MAX(cas3) as cas3 from (
select 
a.id

,a.datum
,case when row =1 then cas end as cas1
,case when row =2 then cas end as cas2
,case when row =3 then cas end as cas3
from (
   
 SELECT ID
      ,datum
      ,cas
      ,ROW_NUMBER() 
over(order by cas) as row

  FROM test )as a
  ) as x
  group by x.id, x.datum

Moderátor Str4wberry: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Moderátor Str4wberry: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman_
Profil *
Tu tabulku potřebujete vypsat v html? To by stačilo jednoduché order by datum, cas a tr udělat jen když se datum změní.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: