Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL-tulosten ryhmittely

blackmoor [15.09.2006 13:08:15]

#

Moi!

Elikkäs haen tietokannasta viidestä eri taulusta joineilla tietoa. lause hakee varaukset, ja varauksiin liittyvät tuotteet eri tauluista. elikkäs saman reservationid:n ja reservationnumberin alla on itse varaus (yksi rivi) + tuotteet (n riviä.)

Jokaisella varauksella on alkamis ja loppupäivä. ongelma on, että kun olen saanut tiedot reservationnumberin avulla järjestykseen, ne eivät ole aikajärjestyksessä. jos taasen haen startdate avulla, ne eivät ole Varaus ja tuotejärjestyksessä, vaan siki sokin ympäri taulukkoa.

Elikkä miten olisi mahdollista saada varaukset ja tuotteet myös aikajärjestykseen?

Ajaattelin, että jos vb koodi puolella käydessäni kannasta saatua datasettiä läpi, tekisin uuden datasetin, johon laittaisin jokaisen varauksen +tuotteet omina taulukoina. sitten tulostettaessa käyttäjälle, tuotteet tulostettaisiin datasetin taulukoista niiden startdate kenttien järjestyksessä. onko selllainen mahdollista?

FooBat [15.09.2006 13:35:06]

#

Tutustu SQL:n "ORDER BY" ehtoon. Eli tässä tapauksessa lisäät hakulauseen loppuun "order by reservationnumber, tuote".

blackmoor [15.09.2006 14:19:23]

#

siis siellä on jo ORDER BY resertvationnumber, startdate. mutta se laittaa varaukset ja tuotteet järjsetykseen reservationnumber:in perusteella. ja sitten jokaisen yksittäisen ryppään omaan startdaten mukaiseen järjestykseen. nyt siis tulisi saada nuo varaus ja tuoteryppäät startdaten mukaiseen järjestykseen.

FooBat [15.09.2006 19:23:30]

#

Siis, jos ymmärsin oikein sinulla on tälläinen tilanne

varaus (
   reservationnumber integer,
   startdate datetime
);
tuote(
   revervationnumber integer,
   name varchar(32)
);

Itse hakisin noi jotakuinkin tälläisellä hakulauseella

select va.reservationnumber, va.startdate, tu.name
from varaus va, tuote tu
where va.reservationnumber = tu.reservationnumber
order by va.startdate, va.reservationnumber, tu.name;

Toivottavasti toimii niinkuin haluat.

blackmoor [21.09.2006 10:28:25]

#

Sain sen toimimaan, mutta eipäs ollut helppo juttu ihan oman kaavan keksin sen käyttöön. sitä on vaikea selittää. kiitos kuitenkin vastauksestasi!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta