Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ako na zlozity dotaz [MySQL]

Dobry den vospolok,

zatuhol som pri rieseni jedneho MySQL dotazu s poddotazmi, moze mi s tym niekto pomoct? Ide o to, ze mam 3 tabulky:

[querypn1.png]

A teraz otazka: Potrebujem spojit tieto 3 tabulky tak, ze vypisem vsetky veci, ich mena, kategorie a priradim ku kazdej veci obrazok. Kde je problem. Spojit tabulky veci a kategoria veci nie je problem na zaklade ID, obrazky by som priradoval tiez podla ID, avsak chcem ku kazdej veci vybrat len JEDEN obrazok a v tabulke obrazky veci sa nachadza hned niekolko obrazkov k jednej veci, preto vypise tu istu vec vo vratenom query ako viac poloziek, riadkov. Ako obmedzit nacitanie obrazkov na jeden jediny? Skusal som rozne operatory a poddotazy, ale nic sa mi nedarilo. Zrejme je to trivialita, ale neviem prist veci na klb.

Vdaka za akekolvek nakopnutie. :beer:

Předmět Autor Datum
Možná jsem to správně nepochopil, ale nestačilo by použít jen SELECT DISTINCT?
MaSo 10.09.2008 10:43
MaSo
SELECT DISTINCT nepoznam, uz hladam.
2laak 10.09.2008 10:44
2laak
Prezrel som si tu fciu, ale nepomaha mi. Bud je nevhodna, alebo ju nepouzivam spravne.
2laak 10.09.2008 10:49
2laak
mozno este pomoze, ked napisem: mne to query vrati taketo riadky: 1 - lyzica - drevo - obr1 2 - ly…
2laak 10.09.2008 10:43
2laak
Na konec dotazu dopis "LIMIT 1".
Wikan 10.09.2008 11:11
Wikan
V tom pripade mi predsa vypise len jednu jedinu vec, nie zoznam veci.
2laak 10.09.2008 11:12
2laak
S tím DISTINCT to asi nepůjde. Ale napadlo mě, si udělat pohled na tabulku obrazky pomocí CREATE VI…
MaSo 10.09.2008 11:15
MaSo
SELECT v.jmeno, k.kategorie, o.obr FROM veci v JOIN kategorie k ON v.kategorie = k.id, obrazky o WHE…
Wikan 10.09.2008 11:31
Wikan
Dakujem, overim. Mozem sa spytat, co znamena zapis: kategorie k a obrazky o ? To priradujete ali…
2laak 10.09.2008 11:44
2laak
urobis si VIEW CREATE VIEW NAZOV AS SELECT VEC_ID, MAX(OBRAZOK) FROM OBRAZKY GROUP BY VEC_ID a pot…
wam_Spider007 10.09.2008 11:35
wam_Spider007
-- inak je to dost odveci otazka, kedze si ani nepovedal, ktory obrazok presne chces. Nie, odveci t…
2laak 10.09.2008 11:43
2laak
select k.*, v.*, (select distinct Veci_Id, Obrazok from Obrazky_veci) O from Kategoria k, Veci v whe…
Rce 10.09.2008 11:36
Rce
Ide o dosť bežný problém, riešení je na webe veľa. Ak nechceš použiť view, tak si môžeš prečítať nap…
los 10.09.2008 11:53
los
Dakujem vsetkym zucasnenym za rady, vsetky boli podnetne. Vidiet, ze ste profici. Zo vsetkych rad so… poslední
2laak 15.09.2008 18:44
2laak

mozno este pomoze, ked napisem:

mne to query vrati taketo riadky:

1 - lyzica - drevo - obr1
2 - lyzica - drevo - obr2
3 - stolik - drevo - obr3
4 - stolik - drevo - obr4
5 - zosity - papier - obr5
* Hrubo oznacene riadky su nazvys. Ja chcem, aby mi vypisalo len:

1 - lyzica - drevo - obr1
2 - stolik - drevo - obr3
3 - zosity - papier - obr5

urobis si VIEW

CREATE VIEW NAZOV
AS
SELECT VEC_ID, MAX(OBRAZOK)
FROM OBRAZKY
GROUP BY VEC_ID

a potom uz budes mat len jeden obrazok pre kazdu vec

-- inak je to dost odveci otazka, kedze si ani nepovedal, ktory obrazok presne chces.

Zpět do poradny Odpovědět na původní otázku Nahoru