Vika tehtävässä riittää mainiosti UNIONiin perustuva ratkaisu.
Käsitellään tuota Liitos hommaa sitten vika luennolla
keskiviikko 10. lokakuuta 2007
Alikyselyiden vastauksia
601: 3 kpl
602: 1 kpl
603: 132 kpl
604: 96 kpl
605: sama kuin 603
606: 397 kpl
607: 430 (Käytä DATEDIFF!)
608: 22 kpl
609: 126/127 kpl (riippuu onko ehtosi Invoice vai Soldblock -tauluun)
610: 12/13 kpl (riippuu onko ehtosi Invoice vai Soldblock -tauluun)
611: 21 kpl
612: 1 rivi 3 saraketta
613: 46 kpl
602: 1 kpl
603: 132 kpl
604: 96 kpl
605: sama kuin 603
606: 397 kpl
607: 430 (Käytä DATEDIFF!)
608: 22 kpl
609: 126/127 kpl (riippuu onko ehtosi Invoice vai Soldblock -tauluun)
610: 12/13 kpl (riippuu onko ehtosi Invoice vai Soldblock -tauluun)
611: 21 kpl
612: 1 rivi 3 saraketta
613: 46 kpl
torstai 4. lokakuuta 2007
Vuosineljännes
Myytyjen blokkien vuosineljänneksen saat selville CASE -lauseella:
CASE
WHEN MONTH(datesold) IN(1,2,3) THEN '1. neljännes'
WHEN MONTH(datesold) IN(4,5,6) THEN '2. neljännes'
WHEN MONTH(datesold) IN(7,8,9) THEN '3. neljännes'
ELSE '4. neljännes'
END AS VuoNel
CASE
WHEN MONTH(datesold) IN(1,2,3) THEN '1. neljännes'
WHEN MONTH(datesold) IN(4,5,6) THEN '2. neljännes'
WHEN MONTH(datesold) IN(7,8,9) THEN '3. neljännes'
ELSE '4. neljännes'
END AS VuoNel
Mallitulokset
Moi!
Käsitykseni mukaan tämän viikon tehtävistä ei ole tarvetta julkaista mallituloksia koska useassa kohtaa tehtävämäärittelyssä on vastaus jo kerrottu!
Käsitykseni mukaan tämän viikon tehtävistä ei ole tarvetta julkaista mallituloksia koska useassa kohtaa tehtävämäärittelyssä on vastaus jo kerrottu!
torstai 27. syyskuuta 2007
Kyselyt 207 ja 208
Jussi Loiri kyseli miksi 207 - 208 antaa eri vastauksia jos ehdossa käytetään Invoice tai Soldblock -taulua:
----
Itse asiassa ko. liiketoiminnassa on mahdollista sellainen tilanne, jossa ensin myydään vaikkapa 5 tuotetta. Tehdään lasku joka jää vielä avoimeksi (eli siis ei ole lähetty asiakkaalle). Kuluu viikko ja asiakas ostaa vielä 1:n blokin, joka lisätään samalle laskulle mutta myyntipäivämäärä on eri kuin muilla blokeilla. Tämä ei kyllä ole sitten yleinen toimintamalli mutta tuolla tavalla sen olen aikoinani koodannut!
----
Itse asiassa ko. liiketoiminnassa on mahdollista sellainen tilanne, jossa ensin myydään vaikkapa 5 tuotetta. Tehdään lasku joka jää vielä avoimeksi (eli siis ei ole lähetty asiakkaalle). Kuluu viikko ja asiakas ostaa vielä 1:n blokin, joka lisätään samalle laskulle mutta myyntipäivämäärä on eri kuin muilla blokeilla. Tämä ei kyllä ole sitten yleinen toimintamalli mutta tuolla tavalla sen olen aikoinani koodannut!
keskiviikko 26. syyskuuta 2007
Liitokset
201 -- 1 kpl, ASKOLAN GRANIT
202 -- 47 kpl
203 -- 245 kpl
204 -- 9 kpl
205 -- 36 kpl
206 -- 8 kpl
207 -- 76
208 -- 70
209 -- 446
210 -- 269
211 -- 85
212 -- 114
213 -- 1964
214 -- 216 - 1 kpl CSJ ja Venäjältähän se löytyy
202 -- 47 kpl
203 -- 245 kpl
204 -- 9 kpl
205 -- 36 kpl
206 -- 8 kpl
207 -- 76
208 -- 70
209 -- 446
210 -- 269
211 -- 85
212 -- 114
213 -- 1964
214 -- 216 - 1 kpl CSJ ja Venäjältähän se löytyy
torstai 20. syyskuuta 2007
125
125 tehtävässä pyydetään käyttämään CASE tai IF
Idea siis:
SELECT kentta1, kentta2,
CASE
WHEN kentta3 > 999 THEN 'XXXX'
WHEN kentta3 > 999 THEN 'YYYY'
WHEN kentta3 > 999 THEN 'ZZZZ'
ELSE 'HHHH'
END AS KentanNimi
FROM TAULU
WHERE ehdot
Idea siis:
SELECT kentta1, kentta2,
CASE
WHEN kentta3 > 999 THEN 'XXXX'
WHEN kentta3 > 999 THEN 'YYYY'
WHEN kentta3 > 999 THEN 'ZZZZ'
ELSE 'HHHH'
END AS KentanNimi
FROM TAULU
WHERE ehdot
Tilaa:
Kommentit (Atom)