Autor Zpráva
karel_
Profil *
Ahoj, potřeboval bych poradit se zápisem databázového dotazu, který bude updatovat údaj (t1.val = t1.val + 1) na základě podmínky v druhé tabulce (počet řádků s t2.area = 2 musí být menší nebo roven 20).

Zkoušel jsem tento nefunkční kód:
UPDATE t1
SET val = val + 1
WHERE (    SELECT COUNT(area) AS c
        FROM t2
        WHERE c = 2) <= 20
juriad
Profil
UPDATE t1
       JOIN (SELECT cast_klice,
                    COUNT(*) AS cnt
             FROM   t2
             WHERE  area = 2
             GROUP  BY cast_klice) c
         ON c.cast_klice = t1.cast_klice
SET    t1.val = t1.val + 1
WHERE  c.cnt <= 20  
Kde cast_klice nahraď za název sloupečku klíče v tabulce t1. Je to ten sloupeček pomocí kterého hledáš v tabulce t2.
Nebo, pokud si nejsi jistý, ukaž definici obou tabulek.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0