J'ai une table qui contient les dates d'échéance pour les enregistrements de membres individuels. Chaque ligne contient quatre champs:Problème lors de la combinaison de deux requêtes SQL en une seule
ID | Next_Due | Next_Due_Missed | Amount
=============================================================
123 | 2010-12-05 | NULL | 41.32
456 | 2010-12-10 | 2010-12-05 | 21.44
789 | 2010-12-20 | 2010-12-10 | 39.99
ID est l'identifiant unique de chaque membre
Suivant En raison - est le jour suivant en raison de leur période d'abonnement standard
Next_Due_Missed est peuplée seulement s'il y avait un erreur de collecte du premier tour de paiement de l'abonnement.
Le montant est la somme détenue pour l'abonnement.
Mon but est de créer une requête sql qui vérifie si next_due_missed existe et n'est pas nulle. Si c'est le cas, utilisez cette valeur comme '$ date'. Sinon, définissez $ date = valeur de next_due
cela est assez simple, sauf que mes résultats sont groupés par Next_Due dans des circonstances normales et omet next_due_missed si je combine mon mode de fonctionnement actuel.
Chaque période de paiement, il peut y avoir plus de 600 enregistrements avec next_due égal à la date souhaitée (et 10-15 égal à next_due_missed).
Ma requête en cours est:
$stmt = $db->prepare("SELECT next_due, next_due_missed FROM table_name WHERE (next_due > CURDATE() OR next_due_missed > CURDATE()) GROUP BY next_due ASC");
Cela ne renvoie les résultats pour next_due cependant. L'omission de la clause GROUP BY renvoie des centaines de résultats (alors que je dois regrouper dans cette étape). De même, à un moment ultérieur, je devrai sortir ces enregistrements individuels et créer des enregistrements de paiement basés sur les valeurs 'next_due' et 'next_due_missed'.
Des idées que je manque?
wow - quelle solution simple! Je vous remercie beaucoup pour votre aide! Je n'étais même pas au courant de la fonction – JM4
aussi de bons conseils sur DISTINCT, permettra de réduire la recherche et le tri. – JM4