J'ai donc quatre tableaux. Chaque table a un identifiant unique pour l'identifiant de table précédent. Ainsi, mon tableau de clics a un identifiant et un identifiant pour l'annonce dont il est issu. Dans le tableau des annonces, il a un identifiant pour l'annonce et un pour la campagne dont il est issu. Voici donc un exemple.
Table4 -
id company table_id
11 hp 20
12 Apple 23
13 kohls 26
14 target 21
15 borders 28
Table3 -
id value table2_id
21 ks 53
22 al 54
23 tx 53
24 fl 55
25 co 51
Table2 -
id value table1_id
51 ks 34
52 al 34
53 tx 33
54 fl 35
55 co 31
Table1 -
id value
31 ks
32 al
33 tx
34 fl
35 co
Donc, pour savoir d'où proviennent les valeurs du tableau 4, je dois parcourir chaque table et vérifier leur identifiant. Fondamentalement, je veux savoir quelles valeurs du tableau 1 sont associées aux valeurs du tableau 4.
Il s'agit du tableau 4 en tant que visiteurs d'un site Web et du tableau 1 en tant qu'annonces Internet. Je veux savoir quels visiteurs proviennent de quelles annonces. Malheureusement, les données sont configurées de manière à ce que je ne puisse revenir en arrière que du visiteur à la source, au groupe d'annonces et à l'annonce. Cela a-t-il du sens?
Quoi qu'il en soit, je me demande si l'utilisation de 4 jointures internes était la stratégie optimale pour ce problème ou existe-t-il une solution mysql plus simple que je ne connais pas.
Les jointures internes sont probablement la meilleure méthode, et vous n'en avez besoin que de 3.
Cela vous donnera un ensemble de résultats avec deux colonnes: société et valeurs associées.
SELECT Table4.company, table1.id, table1.value
FROM Table1
INNER JOIN Table2
ON Table2.table1_id = Table1.id
INNER JOIN Table3
ON Table3.table2_id = Table2.id
INNER JOIN Table4
ON Table4.table3_id = Table3.id