Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL kyselyyn apua

Sql_tuhnuri [04.01.2015 21:41:16]

#

Hei

Kaipaisin aupua seuraavaan tauluun...
Nyt näyttää hienosti tuotteet varastosta 9 ja 99, mutta kun kummassakin on samaa tuotetta en ole onnistunut saamaan näkyviin vain yhtä riviä ja saldona summaa näistä.

Tässä onneton rävellykseni:

select t.numero,t.nimi,t.nimi2,t.tilauskoko2,t.hryksikko, t.hrkerroin,
t.toimtunnus,t.toimittaja,t.lvv,t.hinta,s.nimi,
v.muutospvm,v.hyllypaikka as "TNimi",sum(v.saldo) as "yht"
from tuote as t, varsaldo as v, toimittaja as s
where t.toimittaja=s.tunnus
and t.numero=v.tuote
and ryhma=101
and v.varasto in ('9','99')
group by t.numero,t.nimi,t.nimi2,t.tilauskoko2,t.hryksikko, t.hrkerroin,
t.toimtunnus,t.toimittaja,t.lvv,t.hinta,s.nimi,
v.muutospvm,v.hyllypaikka
having sum(v.saldo)>0

Puolet varmaan turhaa..

Mod. lisäsi kooditagit!

Grez [04.01.2015 22:07:57]

#

No mitäs jos vaikka jätät pois nuo v.muutospvm ja v.hyllypaikka sekä selectistä että group by:stä.

Sql_tuhnuri [04.01.2015 22:16:13]

#

Näitä käytän report builderissa joten ne kyllä toimii. Muutenkin kysely toimii hyvin, mutta näyttää tuotteen kahteen kertaan jos löytyy varastosta 9 ja 99. Haluaisin että näkyisi vain yhteen kertaan ja saldona yhteismäärä.

Grez [05.01.2015 00:08:28]

#

No jos käsket sen ryhmitellä eri hyllypaikat eri riveille (group by v.hyllypaikka) niin silloin saat tietenkin erilliset rivit eri hyllypaikoista.

Eli toistan itseäni... jos et halua ryhmitellä eri hyllyjä eri riveille, älä ryhmittele eri hyllyjä.

Jos nyt sitten kuitenkin haluat, että tuo hyllypaikka näkyy, niin kumman haluaisit siinä rivillä näkyvän, 9 vai 99? Ja millä perusteella valinta tapahtuu.

Sql_tuhnuri [06.01.2015 19:37:22]

#

Kiitos, nyt toimii!
Kun malttaisi kuunnella viisaampia:)

Yritin myös etsiä vastausta miten saisin kyselyn näyttämään tuotteet joita on varastossa 99, mutta ei niitä joita on myös varastossa 9.

Onnistuuko näin monimutkainen kysely jotenkin?

Metabolix [06.01.2015 20:31:18]

#

Sql_tuhnuri kirjoitti:

Yritin myös etsiä vastausta miten saisin kyselyn näyttämään tuotteet joita on varastossa 99, mutta ei niitä joita on myös varastossa 9.

Eräs helppo ratkaisu on laskea kyselyssä myös varaston 99 summa ja tarkistaa se.

SELECT SUM(IF(v.varasto = '99', v.saldo, 0)) AS saldo_varastossa_99
FROM ...
HAVING saldo_varastossa_99 = 0

Muitakin ratkaisuja on.

Sql_tuhnuri [06.01.2015 20:59:43]

#

Kiitos kovasti!
Elämä helpottui kertaheitolla!

Vastaus

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

Tietoa sivustosta