Autor | Zpráva | ||
---|---|---|---|
Perry Profil |
#1 · Zasláno: 6. 3. 2011, 12:33:04
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 |
#2 · Zasláno: 6. 3. 2011, 13:00:41
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 Polozka.ID |
||
Perry Profil |
#3 · Zasláno: 6. 3. 2011, 13:03:58
No to mi ale udela
A | Pepa A | Honza ne ? |
||
TomášK Profil |
#4 · Zasláno: 6. 3. 2011, 13:11:30
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 |
#5 · Zasláno: 6. 3. 2011, 13:16:56 · Upravil/a: Joker
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 |
#6 · Zasláno: 6. 3. 2011, 13:17:29
Aha... group_concat jsem pro Oracle prave nenasel...
|
||
panther Profil |
#7 · Zasláno: 6. 3. 2011, 13:22:52
Perry:
co tohle, nepomohlo by? |
||
Perry Profil |
#8 · Zasláno: 6. 3. 2011, 14:00:36
Díky.. už to jde
|
||
Časová prodleva: 13 let
|
0