J'ai une table qui a deux champs (custno et custno2) qui doivent être recherchés à partir d'une requête. Je n'ai pas conçu cette table, alors ne me crie pas dessus. :-) J'ai besoin de trouver tous les enregistrements où custno ou custno2 correspond à la valeur retournée par une requête sur la même table basée sur un titleno. En d'autres termes, l'utilisateur saisit 1234 pour le titleno. Ma requête recherche dans la table le custno associé au titleno. Il cherche aussi le custno2 pour ce titleno. Ensuite, il doit faire une recherche sur la même table pour tous les autres enregistrements qui ont le custno ou custno2 retourné dans la recherche précédente dans les champs custno ou custno2 pour ces autres enregistrements.Besoin d'aide pour régler une instruction SQL
Voici ce que je suis venu avec:
SELECT BILLYR, BILLNO, TITLENO, VINID, TAXPAID, DUEDATE, DATEPIF, PROPDESC
FROM TRCDBA.BILLSPAID
WHERE CUSTNO IN
(select custno from trcdba.billspaid where titleno = '1234'
union select custno2 from trcdba.billspaid where titleno = '1234' and custno2 != '')
OR CUSTNO2 IN
(select custno from trcdba.billspaid where titleno = '1234'
union select custno2 from trcdba.billspaid where titleno = '1234' and custno2 != '')
La requête prend environ 5-10 secondes pour renvoyer des données. Peut-il être réécrit pour travailler plus vite?
Pour quelle base de données (version aussi bien)? –
La table peut-elle contenir un custno et un custno2 simultanément? –