Faire une jointure entre deux tables.
Résolu
Claudy
-
-
-
Bonjour à tous,
Voici mon problème,
Je fais la requête sql suivante sur la table `wppavm_postmeta` afin de récupérer la valeur post_id :
Et voici le résultat :
Je transfère ensuite les valeurs de post_id dans les requêtes suivantes pour la table `wppavm_posts` afin de changer la valeur de `post_status` :
Cela fonctionne parfaitement, mais serait-il possible de faire tout-ceci automatiquement dans une seule requête? Sachant que les résultats post_id sont à chaque fois différents et leurs quantités également.
Avec mes remerciements
Claudy
Voici mon problème,
Je fais la requête sql suivante sur la table `wppavm_postmeta` afin de récupérer la valeur post_id :
SELECT * FROM `wppavm_postmeta` WHERE `meta_key` LIKE '_awpcp_extra_field[4]' AND `meta_value` <= subdate(now(),1)
Et voici le résultat :
meta_id post_id meta_key meta_value
7327 2617 _awpcp_extra_field[4] 2019/08/24
9638 2748 _awpcp_extra_field[4] 2019/08/24
9669 2765 _awpcp_extra_field[4] 2019/08/24
9709 2767 _awpcp_extra_field[4] 2019/08/24
Je transfère ensuite les valeurs de post_id dans les requêtes suivantes pour la table `wppavm_posts` afin de changer la valeur de `post_status` :
UPDATE `wppavm_posts` SET `post_status` = 'trash' WHERE `wppavm_posts`.`ID` = 2617; UPDATE `wppavm_posts` SET `post_status` = 'trash' WHERE `wppavm_posts`.`ID` = 2748; UPDATE `wppavm_posts` SET `post_status` = 'trash' WHERE `wppavm_posts`.`ID` = 2765; UPDATE `wppavm_posts` SET `post_status` = 'trash' WHERE `wppavm_posts`.`ID` = 2767;
Cela fonctionne parfaitement, mais serait-il possible de faire tout-ceci automatiquement dans une seule requête? Sachant que les résultats post_id sont à chaque fois différents et leurs quantités également.
Avec mes remerciements
Claudy
A voir également:
- Faire une jointure entre deux tables.
- Nombre de jours entre deux dates excel - Guide
- Comment faire deux colonnes sur word - Guide
- Comment faire une table des matières sur word - Guide
- Deux ecran pc - Guide
- Itinéraire google map entre deux adresses - Guide
2 réponses
Bonjour,
Avec par exemple :
Avec par exemple :
UPDATE `wppavm_posts` SET `post_status` = 'trash' WHERE `wppavm_posts`.`ID` IN (SELECT post_id FROM `wppavm_postmeta` WHERE `meta_key` LIKE '_awpcp_extra_field[4]' AND `meta_value` <= subdate(now(),1) )
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peut-être:
pour tester, tu peux peut-être d'abord faire:
UPDATE wppavm_posts SET post_status = 'trash' FROM wppavm_posts JOIN wppavm_postmeta ON wppavm_posts.ID = wppavm_postmeta.post_id WHERE wppavm_postmeta.meta_key = '_awpcp_extra_field[4]' AND wppavm_postmeta.meta_value <= subdate(now(),1)
pour tester, tu peux peut-être d'abord faire:
select * FROM wppavm_posts JOIN wppavm_postmeta ON wppavm_posts.ID = wppavm_postmeta.post_id WHERE wppavm_postmeta.meta_key = '_awpcp_extra_field[4]' AND wppavm_postmeta.meta_value <= subdate(now(),1)