2009-12-02 4 views
0

Je peux exécuter ce genre de requête dans SQL Server:mise à jour Table de requête dans MySql

update tblmembers 
set hits_archived = 
    (select count(*) 
    from tblhits 
    where tblhits.target_id=tblmembers.id 
    and tblhits.hitdate < '2009-11-01') 
where tblmembers.regdate < '2007-09-28' 

Comment puis-je faire dans MySql 4.0.23? J'ai essayé d'exécuter la requête, mais elle a renvoyé ce message d'erreur:

Vous avez une erreur dans votre syntaxe SQL. Consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'select count (*) de tblhits où tblhits.target_id = tblmem

Répondre

1

Cela peut également être fait avec une sous-requête en utilisant MySQL.

Subquery Syntax

+0

pouvez-vous me donner un exemple simple de la façon de faire la mise à jour de tableau croisé avec la syntaxe des sous-requêtes? –

+0

Hmm vous êtes la requête me semble bien. Quelle version de MySQL utilisez-vous? – Ben

+0

c'est MySql 4.0.23 –