j'ai 2 tables contacts:
- address: une table sandard que je suis obligé d'utiliser
- addonaddress: une table qui me permet de définir des champ qui ne seraient pas dans la table standard "address"
Un contact est donc une entrée de la table address + une entrée de la table addonaddress (avec le même ID).
Un contact peut-être de type "company" ou "contact" (un membre de la compagnie). Si le contact est de type "contact", on remplit le champ "parent" (dans la table addonaddress) avec l'ID de la compagnie à laquelle il appartient.
Mon problème est le suivant...
Je voudrais faire une requête qui me donnerait à la fois la liste des compagnies (sans contact) et la liste des contacts (avec la compagnie).
J'ai écrit ceci:
Mais ainsi, je n'ai pas les compagnies seules... Mais bien tous les contacts appartenant à la même compagnie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 SELECT compa.id CustomerNr, compa.companyname Company, compaa.street Street, (street de la compagnie) conta.id ContactID, conta.lastname Lastname, conta.firstname Firstname contaa.street Street, (street de la personne... peut être différent de la compagnie) FROM address compa, addonaddress compaa, address conta, addonaddress contaa WHERE compa.id = compaa.id AND conta.id = contaa.id AND contaa.parent = compa.id AND compa.id LIKE '$CustomerNr'
Je sais que c'est parce que je mets "contaa.parent = compa.id" mais je ne sais pas comment faire pour avoir les compagnies seules (pour le cas où il faudrait lié une facture par exemple à la compagnie elle-même et pas à une personne de la compagnie)
Merci d'avance pour votre aide.
Partager