Pages 1
You must login or register to post a reply
Warning: count(): Parameter must be an array or an object that implements Countable in
/home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line
820
- Registered: 2007-01-08
- Posts: 256
Topic: Ir vėl klaida su delete, join
Mano mysql sakinys toks:
SELECT t1.*
FROM nw_alliance as t1
LEFT JOIN nw_alliance_member AS t2 ON t2.aid=t1.id
GROUP BY t2.aid
HAVING COUNT(t2.id)<3
Gaunu tiksliai tokisu įrašus kokius man ir reikia ištrinti
DELETE t1.*
FROM nw_alliance as t1
LEFT JOIN nw_alliance_member AS t2 ON t2.aid=t1.id
GROUP BY t2.aid
HAVING COUNT(t2.id)<3
meta klaidą:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY t2.aid
HAVING COUNT(t2.id)<3' at line 4
Gal turite gerų minčių?
- minde
- Administrator
- Offline
- Registered: 2006-06-14
- Posts: 4,003
Re: Ir vėl klaida su delete, join
Nuo kada DELETE sakinyje tiesiogiai galima naudoti GROUP BY / HAVING ir panašius dalykus?
http://dev.mysql.com/doc/refman/4.1/en/delete.html
Jeigu tavo atveju gaunasi, kad tai, ką reikia trinti, yra gaunama su sudėtingu SELECT'u iš tos pačios lentelės, tai prasideda gana sudėtingi dalykai. Tarkim variantas: į laikiną lentelę sutalpinti įrašų, kuriuos reikia trinti ID, tada pagal tą lentele trinti iš pagrindinės pasinaudojant daugelio lentelių sujungimu.
- Registered: 2007-01-08
- Posts: 256
Re: Ir vėl klaida su delete, join
Prieš kelias minutes pasinaudojes senu geru draugu google šiaip ne taip radau:
DELETE t1 . * FROM nw_alliance AS t1 INNER JOIN (
SELECT aid
FROM nw_alliance_member
GROUP BY aid
HAVING count( aid ) <3
) AS t2 ON t2.aid = t1.id
- minde
- Administrator
- Offline
- Registered: 2006-06-14
- Posts: 4,003
Re: Ir vėl klaida su delete, join
Kažkaip man atrodė, kad čia trinama iš tos pačios lentos kaip ir selectinama (-;
- Registered: 2007-01-08
- Posts: 256
Re: Ir vėl klaida su delete, join
Nu aš iš pavyzdžio kur trina pasikartojančius įrašus panaudojau, bet pilnai veikė ir mano atveju.
Pages 1
You must login or register to post a reply