Autor Zpráva
para
Profil
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 *
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é.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0