Autor | Zpráva | ||
---|---|---|---|
David1234 Profil * |
#1 · Zasláno: 7. 2. 2007, 11:34:39
Ahoj
Mám tabulku firem kde klíčem je IČO. Vedle mám tabulku jednání do které zapisuji každý rozhovor s firmou a provazuji ji s tabulkoou firem opět přez IČO. Jedno IČO má tedy více záznamů v jednání. Nyní potřebuji vypsat u každé firmy poslední záznam o jenání. Abych neměl ve výpisu několik řádků ke stejné firmě (s různými jednáními), grupuju je. Při grupování se mi ale nedaří z tabulky jednání k danému IČ vybrat právě poslední záznam. Přikládám dotaz, který jsem sestavil, ale nefunguje. SELECT f.ic, f.nazev, j.upominka, j.cas FROM firmy AS f LEFT JOIN jednani AS j ON (f.ic=j.ic) WHERE (f.id_obchodnika=$id_obchodni_reprezentant) GROUP BY j.ic ORDER BY j.id DESC |
||
turtle Profil * |
#2 · Zasláno: 7. 2. 2007, 12:16:04
Možno by to šlo takto:
SELECT f.ic, f.nazev, (SELECT j.cas FROM jednani AS j WHERE f.ic=j.ic ORDER BY j.id DESC LIMIT 1) AS cas FROM firmy AS f WHERE (f.id_obchodnika=$id_obchodni_reprezentant) ORDER BY j.id DESC netestované |
||
turtle Profil * |
#3 · Zasláno: 7. 2. 2007, 12:29:55
sorry, bez toho ORDER na konci
|
||
David1234 Profil * |
#4 · Zasláno: 7. 2. 2007, 12:51:14
MySQL hlásí:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT j.upominka FROM jednani AS j WHERE f.ic=j.ic ORDER BY j. |
||
nightfish Profil |
#5 · Zasláno: 7. 2. 2007, 13:02:26
David1234
na jaké verzi mySQL to zkoušíš? subselecty jsou podporovány tuším od 4.1 |
||
David1234 Profil * |
#6 · Zasláno: 7. 2. 2007, 13:03:39
Tak to bude ten problém: Verze MySQL: 4.0.27 :(
|
||
David1234 Profil * |
#7 · Zasláno: 7. 2. 2007, 13:18:16
Tak to bude ten problém: Verze MySQL: 4.0.27
|
||
Kajman_ Profil * |
#8 · Zasláno: 7. 2. 2007, 13:46:12
Na starých bych zkusil něco jako
SELECT f.ic, f.nazev, j.upominka, j.cas FROM firmy AS f LEFT JOIN jednani AS j ON (f.ic=j.ic) LEFT JOIN jednani AS j2 ON (j.ic=j2.ic and j.id<j2.id) WHERE (f.id_obchodnika=$id_obchodni_reprezentant) AND j2.id IS NULL ORDER BY j.id DESC ale rychlé to na velkých datech nebude... na 4.1 to jde psát už lépe. |
||
David1234 Profil * |
#9 · Zasláno: 7. 2. 2007, 13:57:12
Tohle funguje výborně.
Díky za pomoc |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0