Souci de jointures et multiples tables ...
yopiman29
-
yopiman29 -
yopiman29 -
Bonjour,
Bonsoir,
J'ai besoin de faire un update par tache cron d'un champ d'une table
J'ai suivi tous les exemples possibles, j'en suis là mais tout tourne sans fin ...
Mes besoin : prendre sur les deux tables l'id d'une commande (id similaire) pour faire le lien entre le champ voulu
ensuite sur une des tables, prendre la référence 100000 pour faire un update de l'autre table dans un autre champ (valeur 3 ici) ...
Ca ne fonctionne pas, help !
Merci a tous :)
J'ai aussi essayé :
[
snif ....
Bonsoir,
J'ai besoin de faire un update par tache cron d'un champ d'une table
J'ai suivi tous les exemples possibles, j'en suis là mais tout tourne sans fin ...
Mes besoin : prendre sur les deux tables l'id d'une commande (id similaire) pour faire le lien entre le champ voulu
ensuite sur une des tables, prendre la référence 100000 pour faire un update de l'autre table dans un autre champ (valeur 3 ici) ...
Ca ne fonctionne pas, help !
Merci a tous :)
$data2 = "UPDATE " . TABLE_CUSTOMERS_POINTS_PENDING . " p , " . TABLE_ORDERS_STATUS_HISTORY . " o SET p.points_status = 3 WHERE p.orders_id = o.orders_id and o.orders_status_id = 100000";
$request = mysql_query($data2) or die('Erreur SQL !<br>'.$data2.'<br>'.mysql_error());
$datas = ($request);
echo $datas;
J'ai aussi essayé :
[
$data2 = "UPDATE " . TABLE_CUSTOMERS_POINTS_PENDING . " p JOIN " . TABLE_ORDERS_STATUS_HISTORY . " o ON p.orders_id = o.orders_id SET p.points_status = 3 WHERE o.orders_status_id = 100000";
$request = mysql_query($data2) or die('Erreur SQL !<br>'.$data2.'<br>'.mysql_error());
$datas2015 = ($request);
echo $datas2015;
snif ....
A voir également:
- Souci de jointures et multiples tables ...
- Tables des matières word - Guide
- Tables ascii - Guide
- Tableau croisé dynamique ou table de pilote - Guide
- Prestashop déclinaisons multiples ✓ - Forum Webmastering
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? ✓ - Forum Word
4 réponses
Bonjour,
Un update sur une table contenant un joint
dois avoir cette syntaxe:
update a
set a.colonne = 'blabla'
from table1 a
join table2 b
on a.id = b.id
where b.telchose = 'telaffaire'
Donc je n'ai pas testé l'output de $data2 mais ca doit ressembler a cela:
$data2 = "UPDATE p
SET p.points_status = 3
FROM " . TABLE_CUSTOMERS_POINTS_PENDING . " p JOIN " . TABLE_ORDERS_STATUS_HISTORY . " o ON p.orders_id = o.orders_id WHERE o.orders_status_id = 100000";
Bonne soiree
Un update sur une table contenant un joint
dois avoir cette syntaxe:
update a
set a.colonne = 'blabla'
from table1 a
join table2 b
on a.id = b.id
where b.telchose = 'telaffaire'
Donc je n'ai pas testé l'output de $data2 mais ca doit ressembler a cela:
$data2 = "UPDATE p
SET p.points_status = 3
FROM " . TABLE_CUSTOMERS_POINTS_PENDING . " p JOIN " . TABLE_ORDERS_STATUS_HISTORY . " o ON p.orders_id = o.orders_id WHERE o.orders_status_id = 100000";
Bonne soiree
Merci beaucoup de ta réponse, j'avance mais j'ai une erreur de syntaxe ....
as tu une idée du truc ?
encore merci
voila ma nouvelle requete :
et mon erreur :
Erreur SQL !
UPDATE p SET p.points_status = 3 FROM customers_points_pending p JOIN orders_status_history o ON p.orders_id = o.orders_id WHERE o.orders_status_id = 100000
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 'FROM customers_points_pending p JOIN orders_status_history o ON p.orders_id = o.' at line 3
as tu une idée du truc ?
encore merci
voila ma nouvelle requete :
$datapoint = "UPDATE p
SET p.points_status = 3
FROM " . TABLE_CUSTOMERS_POINTS_PENDING . " p JOIN " . TABLE_ORDERS_STATUS_HISTORY . " o ON p.orders_id = o.orders_id WHERE o.orders_status_id = 100000";
$requestpoint = mysql_query($datapoint) or die('Erreur SQL !<br>'.$datapoint.'<br>'.mysql_error());
$datas2requestpoint = ($requestpoint);
echo $datas2requestpoint;
et mon erreur :
Erreur SQL !
UPDATE p SET p.points_status = 3 FROM customers_points_pending p JOIN orders_status_history o ON p.orders_id = o.orders_id WHERE o.orders_status_id = 100000
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 'FROM customers_points_pending p JOIN orders_status_history o ON p.orders_id = o.' at line 3
Bonjour
Tu as une erreur de syntaxe parce que la syntaxe que t'a proposée BennerBenner est incorrecte.
Regarde la manuel :
https://dev.mysql.com/doc/refman/5.7/en/update.html
La syntaxe que tu utilisais au départ m'avait l'air correcte. Pourquoi dis-tu qu'elle ne fonctionne pas ? Quel message d'erreur avais-tu ?
Si tu comptais sur
pour t'afficher quelque chose, je te signale que cet affichage est un peu farfelu. Le mysql_query te rend un simple "true", on se demande à quoi sert la variable $data, et l'affichage d'une variable true se traduit par un simple 1.
Tu as une erreur de syntaxe parce que la syntaxe que t'a proposée BennerBenner est incorrecte.
Regarde la manuel :
https://dev.mysql.com/doc/refman/5.7/en/update.html
La syntaxe que tu utilisais au départ m'avait l'air correcte. Pourquoi dis-tu qu'elle ne fonctionne pas ? Quel message d'erreur avais-tu ?
Si tu comptais sur
$datas = ($request); echo $datas;
pour t'afficher quelque chose, je te signale que cet affichage est un peu farfelu. Le mysql_query te rend un simple "true", on se demande à quoi sert la variable $data, et l'affichage d'une variable true se traduit par un simple 1.