Autor | Zpráva | ||
---|---|---|---|
ludvalb Profil |
#1 · Zasláno: 1. 1. 2013, 11:12:49
Zdravím, mám takový problém se spojením více tabulek.
Mám tyto tabulky: sklad - ks / autoID / nazev koupeno - produktID / ks deni_prehled - autoID / produktID / ks_prodej a potřebuji vytvořit SELECT kde výsledek bude sklad.ks + koupeno.ks - deni_prehled.ks_prodej a tabulky se spojí na sklad.autoID=deni_prehled.produktID a sklad.autoID=koupeno.produktID a přitom z tabulky deni_prehled se vyberou pouze dotazy kde platí autoID<0 a zároveň je také potřeba u tabulek koupeno a deni_prehled potřeba seskupit záznamy kde jsou řádky se schodným produktID. Hodnoty z tohoto SELECTu pak následně vypíšu do tabulky kde bude pouze sloupec název a ks Zkoušel jsem různé varianty zápisů, co jsem našel zde na foru, ale vždy jsem se v tom zamotal a kod nefungoval. Jsem začátečník. Budu vděčný za jakoukoliv pomoc. Předem všem děkuji. |
||
Kajman Profil |
#2 · Zasláno: 2. 1. 2013, 22:54:41
Strukturu tabulek moc nechápu, ale možná hledáte něco jako
SELECT s.nazev, Ifnull(s.ks, 0) + Ifnull(dp.soucet, 0) + Ifnull(k.soucet, 0) ks FROM sklad s LEFT JOIN (SELECT produktID, Sum(ks_prodej) soucet FROM deni_prehled WHERE autoID < 0 GROUP BY produktID) dp ON s.autoID = dp.produktID LEFT JOIN (SELECT produktID, Sum(ks) soucet FROM koupeno GROUP BY produktID) k ON s.autoID = k.produktID |
||
ludvalb Profil |
#3 · Zasláno: 3. 1. 2013, 23:10:26
jj, to je přesně ono. Budu se muset naučit používat takovouto strukturu zápisu, když je to něco složitějšího, tak se v tom vždycky zamotám a ztrácím souvislosti.
Moc děkuji. |
||
Časová prodleva: 11 let
|
0