Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: MySQL: Monitauluhaut

Sp33d [04.01.2014 21:02:43]

#

Hei,

Olen opiskelemassa ja päätynyt tuskalliseen kohtaan tehtävässä.
Pitäisi hakea tietokannasta sellaisia henkilöitä jotka ovat tilanneet tavaraa mitä on varastossa yli tietyn määrän
Eli:

SELECT HE_etunimi, HE_sukunimi
FROM HENKILOT, TILAUSRIVI, TUOTTEET, TILAUKSET
WHERE TU_vsaldo > 5 AND ????  TILAUSRIVI.TI_id = TILAUKSET.TI_id ???

TUOTTEISSA on varastosaldo kenttä ja tuotenimi sekä TU_id.
HENKILOSSA HE_id ja henkilon nimi.
TILAUSRIVISSA on TI_id ja TU_id
TILAUKSISSA on TI_id ja HE_id

Mod. lisäsi kooditagit!

-tossu- [06.01.2014 05:29:17]

#

Olet jo onnistuneesti yhdistänyt tilauksen ja tilausrivin ehdolla TILAUSRIVI.TI_id = TILAUKSET.TI_id. Yhdistä vielä vastaavasti muut taulut toisiinsa kahdella lisäehdolla. Jotta sama nimi ei esiintyisi tuloksessa useasti, käytä kyselyä SELECT DISTINCT.

Kysely saattaisi olla helpompi hahmottaa, mikäli liittäisit taulut toisiinsa INNER JOIN:illa.

Sp33d [07.01.2014 11:01:59]

#

Tämä olikin todella helppo, kiitos avusta :)

SELECT DISTINCT HENKILOT.HE_etunimi,HENKILOT.HE_sukunimi
FROM HENKILOT,TILAUKSET,TUOTTEET,TILAUSRIVI
WHERE TUOTTEET.TU_vsaldo > 5 AND HENKILOT.HE_id = TILAUKSET.HE_id AND TILAUKSET.TI_id = TILAUSRIVI.TI_id AND TILAUSRIVI.TU_id = TUOTTEET.TU_id

Mod. lisäsi kooditagit!

Vastaus

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

Tietoa sivustosta