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?
Tutustu SQL:n "ORDER BY" ehtoon. Eli tässä tapauksessa lisäät hakulauseen loppuun "order by reservationnumber, tuote".
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.
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.
Sain sen toimimaan, mutta eipäs ollut helppo juttu ihan oman kaavan keksin sen käyttöön. sitä on vaikea selittää. kiitos kuitenkin vastauksestasi!
Aihe on jo aika vanha, joten et voi enää vastata siihen.