Autor Zpráva
Perry
Profil
Mám tabulky
Polozka | ID
A | 1
B | 2

Zakaznik | Polozka_ID
Pepa | 1
Honza | 1
Johny | 2

Jak udělat výběr, abych měl:
A | (Pepa, Honza)
B | (Johny)

Nebo třeba nějak metodu aby to vybralo A a pak v rámci A to postupně vracelo Pepa, Honza...; potom by to vybralo B atd

Je to v Oraclu.
1Pupik1989
Profil
SELECT * FROM Zakaznik, Polozka WHERE Polozka.ID=Zakaznik.Polozka_ID


Teď jsem to střelil od boku, ale principy jsou stejné :) Stačí sql prostě říct, že
Zakaznik.Polozka_ID
je rovna
Polozka.ID
a má se podle ní vybrat.
Perry
Profil
No to mi ale udela
A | Pepa
A | Honza

ne ?
TomášK
Profil
Perry:
V MySQL tohle lze zařídit pomocí GROUP_CONCAT, Oracle takovou funkci nemá, ale lze si ji napsat nebo na internetu najít konstrukce, které dělají totéž. Lze to řešit na úrovni aplikace - seskupit záznamy ve stejné kategorii je jednoduché.
Joker
Profil
ad 1Pupik1989, když už, tak takhle:
SELECT sloupce FROM zakaznik z JOIN polozka p ON p.id=z.polozka_id

No a pak se použije GROUP_CONCAT a GROUP BY

Edit: Omluvám se, nevšiml jsem si, že jde o Oracle. Chtěl jsem dopsat odkaz na GROUP_CONCAT v Oracle, ale panther mě už předběhl
Perry
Profil
Aha... group_concat jsem pro Oracle prave nenasel...
panther
Profil
Perry:
co tohle, nepomohlo by?
Perry
Profil
Díky.. už to jde

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0