Autor | Zpráva | ||
---|---|---|---|
para Profil |
#1 · Zasláno: 3. 2. 2006, 16:43:50
Uz si nevim rady a tak pisu. Mám následující situaci.
Tabulka a. s kategoriemi a vlastním zbozi. Tabulka b. se skladovým hospodářstvím. a Potreboval bych zkloubit následující dva SQL dotazy (druhý zatím používám prasácky ve while prvího dotazu) SELECT t1.id, t1.name, t2.name, t1.th , t1.price, t1.parent_id, t1.instock FROM dlazba AS t1, dlazba AS t2 WHERE t1.parent_id = t2.id ktery mi zajisti vypis kategorie a k ni relevantni zbozi a: SELECT value FROM stockstatus WHERE mat_id = 'neco' ORDER BY timestamp DESC LIMIT 1 ktery zajisti vypis posledni hodnoty tohoto zbozi na sklade. Problém je v tom že, na skladě se drží celá historie pohybu zboží a tak je potřeba vybrat jenom poslední záznam, což řeším přes ten LIMIT 1 a DESC Zkoušel jsem je spojit takto: SELECT t1.id, t1.name, t2.name, t1.th, t1.price, t1.parent_id, t3.mat_id, t3.value FROM dlazba AS t1, dlazba AS t2, stockstatus AS t3 WHERE t1.parent_id = t2.id AND t3.mat_id = t1.id ale tam nejsem schopný zajistit, aby to vzalo pravě tu maximální hodnoutu. Nevědel by někdo? Vřele díky. |
||
Kajman_ Profil * |
#2 · Zasláno: 5. 2. 2006, 17:25:20
Zkusil bych to takto nějak... takovou to fintou, že se spojí samo se sebou a když není, žádná menší... a tedy nej největší... tak budou díky left join v t4 null hodnoty.
SELECT t1.id, t1.name, t2.name, t1.th , t1.price, t1.parent_id, t1.instock, t3.mat_id, t3.value FROM dlazba AS t1, dlazba AS t2, stockstatus t3 left join stockstatus t4 on (t3.mat_id=t4.mat_id and t3.`timestamp`<t4.`timestamp`) WHERE t1.parent_id = t2.id and t1.id=t3.mat_id and t4.mat_id is null Nebo tak nějak :-) Snad to nebude moc pomalé. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0