J'ai une table ("comments") pleine de commentaires, la date à laquelle ils ont été créés, et, s'ils ont été poussés vers l'avant via PHP bouton, la date de cela aussi (sinon la date sera '0000-00-00'). Ce que je voudrais, c'est que la table soit affichée normalement, mais que les commentaires qui ont été "repoussés" soient poussés à un endroit dans la table avec un ORDER BY
de date de création ("created"). Voici un exemple de ce que je voudrais réaliser: quelles sont les invellations qui poussent un vieux commentaire (ID: 4) vers le haut? (NOTE: il n'y a pas d'ID dupliqués dans la table, seul le résultat de la requête dupliquera les enregistrements refondus comme indiqué ici):SQL - Afficher une ligne deux fois en commandant le "doublon repush" par date créée
id | comment | created | repushed
---+---------+---------------------+-------------------
4 | hello | 2015-05-11 06:11:12 | 2015-11-22 11:17:01
23 | recent | 2015-05-22 12:18:23 | 0000-00-00 00:00:00
22 | recent | 2015-05-22 11:15:43 | 0000-00-00 00:00:00
21 | recent | 2015-05-22 10:23:10 | 0000-00-00 00:00:00
4 | hello | 2015-05-11 06:11:12 | 2015-11-22 11:17:01
Je suis en train d'utiliser UNION
de combiner tous les commentaires avec des commentaires repushed (donc tous les commentaires seront repushed apparaître dupliqués une fois recherchée), mais je veux traiter la repushed dupliqué commentaires comme s'ils avaient été créés au moment où ils ont été refaits, donc j'aurais besoin d'échanger les valeurs de colonnes "créées" et "repassées" des doublons pour obtenir cet effet, et le n ordre par "créé".
SELECT *
FROM comments
WHERE repushed != '0000-00-00 00:00:00'
UNION ALL
SELECT *
FROM comments
ORDER BY created DESC
Bien sûr, cela ne fonctionne pas comme prévu puisque je ne sais pas comment échanger les deux valeurs de la colonne autour.
Pourriez-vous ajouter votre résultat attendu? – davejal
Salut. Le tableau que j'ai montré ici est mon résultat attendu/prévu – Justin