2014-01-30 4 views
0

У меня есть эти виды столов:SQL заявление использованием присоединиться

customer1:

"Customer1" table: 
-------------------------------- 
id | branch | company_id 
-------------------------------- 
1 | typical |  1 
2 | natural |  8 
-------------------------------- 

Customer2

"Customer2" table: 
------------------------------- 
id | company | group_id 
------------------------------- 
1 |  deux | 1 
------------------------------- 

Customer3

"Customer3" table: 
------------------------------- 
id | group 
------------------------------- 
1  | alpha 
-------------------------------  

Теперь, как я могу иметь вывода с использованием команды sql command/statement for м таблицы, как это:

---------------------------- 
group | company | branch 
---------------------------- 
alpha | deux | typical 
+0

Можете ли вы иметь несколько строк в каждой таблице для клиента iD? – DhruvJoshi

ответ

1

Это должно быть то, что вы ищете для- Однако это не может быть то, что вы ищете, если таблицы имеют несколько записей для одной ид

SELECT C3.group, C2.company, C1.branch 
FROm Customer1 c1 INNER JOIN 
     Customer2 c2 ON c1.company_id = c2.id INNER JOIN 
     Customer3 c3 ON c2.group_id = c3.id 
0

Примерные-значения, которые вы дали нам не приведет ни спичек, если вы запускаете объединение, поскольку идентификаторы не совпадают. Однако это то, что запрос будет выглядеть

select [group], company, branch 
from Customer3 c3 
join Customer2 c2 on c3.ID = c2.group_id 
join Customer1 c1 on c2.id = c1.company_id 
3

Вы могли бы попробовать что-то вроде

SELECT [group], 
     [company], 
     [branch] 
FROm Customer1 c1 INNER JOIN 
     Customer2 c2 ON c1.company_id = c2.id INNER JOIN 
     Customer3 c3 ON c2.group_id = c3.id 

Чтобы убедиться, что вы всегда отображаются все значения, вы можете захотеть взглянуть на использование LEFT JOINS

что-то вроде

SELECT [group], 
     [company], 
     [branch] 
FROm Customer1 c1 LEFT JOIN 
     Customer2 c2 ON c1.company_id = c2.id LEFT JOIN 
     Customer3 c3 ON c2.group_id = c3.id 

Вот хорошая статья, что ехр lains разница между различными типами объединениями

Introduction to JOINs – Basic of JOINs

Смежные вопросы