Wiele połączeń wewnętrznych z wieloma tabelami
Więc mam cztery stoliki. Każda tabela ma pojedynczy identyfikator dla poprzedniego id tabeli. Tak więc moja tabela in click ma id i id dla reklamy, z której pochodzi. W tabeli reklam ma identyfikator dla reklamy i jeden dla kampanii, z której pochodzi. Oto przykład.
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
Więc aby dowiedzieć się, skąd pochodzą wartości w tabeli 4, muszę wrócić do każdej tabeli i sprawdzić, który identyfikator mają. Zasadniczo chcę wiedzieć, które wartości w tabeli 1 są powiązane z wartościami w Tabela 4.
To z tabeli 4 jako odwiedzających stronę internetową i Tabeli 1 jako reklamy internetowe. Chcę wiedzieć, którzy goście pochodzą z jakich reklam. Niestety dane są skonfigurowane tak, że mogę wykonać tylko pojedyncze kroki wstecz od odwiedzającego do źródła do grupy reklam do reklamy. Czy to ma sens?
W każdym razie, zastanawiam się, czy użycie 4 innner joins było optymalną strategią dla tego problemu, czy jest jakieś prostsze rozwiązanie mysql, którego nie jestem świadomy.
1 answers
Połączenia wewnętrzne są prawdopodobnie najlepszą metodą, a potrzebujesz tylko 3.
To da ci zestaw wyników z dwoma kolumnami: Firma i powiązane wartości.
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-19 15:03:20