Autor | Zpráva | ||
---|---|---|---|
caradoc Profil * |
#1 · Zasláno: 19. 3. 2009, 08:22:27
ahoj, prosím potřebuji pomoct se Selectem,
tabulka ================================== 1 | Pavel | 10 Korun 2 | Monika | 20 Korun 3 | Pavel | 40 Korun 4 | Ivana | 10 Korun 5 | Petr | 30 Korun ------------------------------------------------------------- a potřebuji výsledek kdy SQL vrátí Pavel 40 Korun Monika 20 Korun Ivana 10 Korun Petr 30 Korun tzn, vybrat každé jméno ale jen jednou, a jeho poslední vložení peněz, díky za pomoc, Caradoc |
||
Kajman_ Profil * |
#2 · Zasláno: 19. 3. 2009, 08:25:49
select t1.* from tabulka t1, (select max(t2.id) id from tabulka t2 group by t2.jmeno) t3 where t1.id=t3.id |
||
AM_ Profil |
#3 · Zasláno: 19. 3. 2009, 15:06:41
SELECT DISTINCT jmeno, vklad FROM tabulka ORDER BY id DESC
Za předpokladu, že poslední výběr má nejvyšší ID. To, co napsal Kajman_ nevyhovuje zadání, to vybírá maximální vklad místo posledního. Navíc je to zbytečně složité. |
||
Kajman_ Profil * |
#4 · Zasláno: 19. 3. 2009, 15:47:38
AM_
Ve Vašem selectu bude dvakrát pavel, distinct se dělá na všechny sloupce. V mém se hledá nejvyšší id pro každé jméno, ne nejvyšší vklad. |
||
caradoc Profil * |
#5 · Zasláno: 19. 3. 2009, 17:32:29
Kajmanova verze pracuje dokonale, ale potřeboval bych věc ještě vyladit,
představ si že Pavel donesl do poklady další 10 korun a ještě další den přidal 5 Eur, dá se postavit selekt který pozná že Pavel naposledy přínesl 10 Korun, 5 Eur??? ev. zobrazí poslední další záznam cizí měny, pokud Pavel donese $$ v tabulce je samozřejmě další sloupec který určuje měnu,... |
||
Kajman_ Profil * |
#6 · Zasláno: 19. 3. 2009, 20:58:19
group by t2.jmeno, t2.mena |
||
AM_ Profil |
#7 · Zasláno: 19. 3. 2009, 21:11:42
Kajman_
Sorry, pravda, to jsem si neuvědomil. Osobně navrhuji tabulky jinak (do jedné bych dal klienty a do druhé transakce), takže jsem trochu střelil od boku. |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0