Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ehtorakenne SQL:llä

punppis [24.01.2008 11:23:33]

#

Kuinka saan tehtyä SQL:llä sellaisen lauseen, että se palauttaa tiedon sillä perusteella, mitä siitä hausta tulee? Jos siis vaikka taulussa on tiedot "Pekka" ja "Matti". Teen SQL-lauseen, joka palauttaa jomman kumman. Tämän vastauksen perusteella se palauttaa sukunimen kyseiselle etunimelle, joka nyt voidaan tehdä vaikka if-lauseella tai jollain vastaavalla. Kannassa ei kuitenkaan ole sukunimelle taulua.

En todellakaan tiedä mihin tälläistä tarvitsee, mutta työssäoppimassa piti tälläinen tehdä, eikä onnistu :(

Olga [24.01.2008 12:09:44]

#

MySQL:ssä homma toimii jotakuinkin seuraavasti (kts. if- ja case-lauseet): http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

punppis [28.01.2008 11:21:30]

#

Noista sain sen verran irti, kuinka voidaan säätää yhtä riviä. Tarkoitus olisi kuitenkin saada tyyliin seuraavasta taulusta:

+------------------+-------+
| nimi             | tulos |
+------------------+-------+
| Citymarket       |  1000 |
| K-Market         |   650 |
| Supermarket      |   900 |
| Verkkokauppa.com |  2000 |
| Bulldog NetStore |   500 |
+------------------+-------+

jos tulos on yli 800, tulos on liikaa

+------------------+--------+
| nimi             | tulos  |
+------------------+--------+
| Citymarket       | liikaa |
| K-Market         |    650 |
| Supermarket      | liikaa |
| Verkkokauppa.com | liikaa |
| Bulldog NetStore |    500 |
+------------------+--------+

EDIT: ratkaistu seuraavalla kyselyllä

SELECT nimi, "liikaa" as tulos FROM kaupat WHERE tulos > 800
UNION
SELECT nimi, tulos FROM kaupat WHERE tulos < 800;

Hycke [28.01.2008 14:02:37]

#

Mitä tulostuu jos tulos on tasan 800?

Vastaus

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

Tietoa sivustosta