J'ai deux tables, une pour les factures et une pour les paiements entrants. Un paiement entrant peut être jointe à une facture par une clé étrangère comme ceci:Comment retourner uniquement les lignes qui sont jointes plus d'une fois
from invoices t1 inner join incoming_payments t2 on t1.receiptnum = t2.docnum
La question: Je veux retourner toutes les factures qui ont plus d'un paiement affiché contre eux. Pour chaque facture, je veux retourner son docnum, qui est juste un identifiant unique pour la facture.
Voici quelques choses que j'essayées qui ne fonctionne pas:
select t0.docnum
from invoices t0 inner join incoming_payments t1 on t0.receiptnum = t1.docentry
group by t0.docnum
having count(t0.docnum) > 1
et
select t0.docnum
from invoices t0 inner join incoming_payments t1 on t0.receiptnum = t1.docentry
group by t0.receiptnum, t0.docnum
having count(t0.receiptnum) > 1
Toutes les idées?
C'était rapide, merci. La deuxième requête montre qu'il n'y a pas de lignes avec count (*)> 1 car j'avais posé la requête. Encore une fois, ce sera un point de données utile. J'ai besoin de creuser plus profondément dans le schéma puisque je sais qu'il y a des factures avec plus d'un paiement entrant affiché contre eux. – m7d
Bien sûr. Vous résolvez cela, et votre première requête devrait fonctionner. Ne pas regrouper par receiptnum, ça ne marchera jamais. –