Fórum Root.cz
Hlavní témata => Server => Téma založeno: Sadd 02. 11. 2014, 20:54:18
-
Zdravím,
mám před sebou zajímavý problém(výzvu :D ).
3 Tabulky(obrazně):
Zakaznik - id_zakaznika, billance
Header - id_header,id_zakaznika
Product - id, value.
No k výzvě:
Jedním update-> Select dotazem, dopočítat billanci u zákazníka, pomocí spojení z Header a Productu.
Dostal jsem s k výpisu kde je suma hodnoty produktu a id faktury:
SELECT SUM(Product .value)as suma,Product .id_header as id_zakaznik FROM Product INNER JOIN Header on Product .id_header=Header .id_header GROUP BY id_product
Což mi ukáže tedy bilanci Zakaznika a jeho ID. Nicméně, jak to nejšikovněji napasovat do UPDATE?
UPDATE Zakaznik
SET Zakaznik.billance=
(
SELECT SUM(Product.value)as suma
FROM Product
INNER JOIN Zahlavi on Product .id_header=Header.id_header
)
FROM Zakaznik Inner Join Header on Header.id_zakaznika=Zakaznik.id_zakaznika;
Mi boužel nefunguje - nemůže, potřeboval bych to spárovat. Děkuji
Děkuji za čas :)
-
Nejak takto?
UPDATE Zakaznik
SET Zakaznik.billance=
(
SELECT SUM(Product.value)as suma
FROM Product
INNER JOIN Zahlavi on Product .id_header=Header.id_header
WHERE Heaser.id_zakaznik = Zakaznik.id_zakaznik
)
-
Děkuji :)
-
Tady je dulezity vedet o jakou databazi se jedna. Napr. Oracle a MSSQL podporuji tzv. update-able join, i kdyz kazda s trochu jinou syntaxi.
-
Právě MSSQL