2015-07-03 2 views
-1

Я пытаюсь создать представление связанных данных. Результаты будут получены из нескольких таблиц, но я пытаюсь извлечь информацию из 3 таблиц в данный момент. Как только у меня будет синтаксис для этого, я смогу присоединиться к другим таблицам.SQL 3 table join - Синтаксис

В настоящее время мое заявление выглядит следующим образом:

SELECT 
dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION.UNIQUE_CONTAINER_ID, 
dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION.CLIENT_BOX_BARCODE, 
dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION.WMS_BOX_BARCODE, 
dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION.BOX_SIZE, 
dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION.STORAGE_LOCATION, 
dbo.TB_CHEVRON_CORE.WELL_NAME_LEASE, 
dbo.TB_CHEVRON_CORE.WELL, 
dbo.TB_CHEVRON_CORE.PROSPECT, 
dbo.TB_CHEVRON_CORE.UNIQUE_PROVINCE_ID, 
dbo.TB_CHEVRON_CORE.COUNTY_PARISH_BOROUGH, 
dict.DICT_PROVINCE_COUNTY.UNIQUE_PROVINCE_ID, 
dict.DICT_PROVINCE_COUNTY.STATE_PROVINCE 
FROM dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION as MCHI,  
dbo.TB_CHEVRON_CORE, dict.DICT_PROVINCE_COUNTY 
INNER JOIN dbo.TB_CHEVRON_CORE AS CC 
ON MCHI.UNIQUE_CONTAINER_ID = CC.UNIQUE_CONTAINER_ID 
INNER JOIN dict.DICT_PROVINCE_COUNTY as DPC 
ON DPC.UNIQUE_PROVINCE_ID = CC.UNIQUE_PROVINCE_ID 

Запуск выше дает мне «не может быть связано» ошибки.

Любые советы очень ценятся!

+0

Я использовал этот ответ здесь в качестве ссылки: http://stackoverflow.com/questions/10195451/sql-inner-join-with- 3-tables – b0redj0rd

+0

Не смешивайте неявные соединения старого стиля (разделенные запятыми) и современный явный синтаксис JOIN. Слишком смущает. (Придерживайтесь явно JOIN, проще писать, читать легче и проще конвертировать в внешнее соединение, если необходимо.) – jarlh

+0

Примите анзер @blam – KarmaEDV

ответ

1

Ваш запрос должен быть неправильным. Вам присваивается имя таблицы псевдонима, затем оно используется. И ваше соединение ошибочно. попробуйте этот

SELECT 
MCHI.UNIQUE_CONTAINER_ID, 
MCHI.CLIENT_BOX_BARCODE, 
MCHI.WMS_BOX_BARCODE, 
MCHI.BOX_SIZE, 
MCHI.STORAGE_LOCATION, 
CC.WELL_NAME_LEASE, 
CC.WELL, 
CC.PROSPECT, 
CC.UNIQUE_PROVINCE_ID, 
CC.COUNTY_PARISH_BOROUGH, 
DPC.UNIQUE_PROVINCE_ID, 
DPC.STATE_PROVINCE 
FROM dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION as MCHI  
INNER JOIN dbo.TB_CHEVRON_CORE AS CC 
ON MCHI.UNIQUE_CONTAINER_ID = CC.UNIQUE_CONTAINER_ID 
INNER JOIN dict.DICT_PROVINCE_COUNTY as DPC 
ON DPC.UNIQUE_PROVINCE_ID = CC.UNIQUE_PROVINCE_ID 

более подробно см эту ссылку, http://www.w3schools.com/sql/sql_join_inner.asp

+0

Спасибо! Это работает отлично. Я ценю ваш ответ :) – b0redj0rd

+0

Не говорите спасибо, если это поможет, после чего дано голосование –

+0

Я проголосовал за вас, но пока не покажет свой голос. Несмотря ни на что, я ценю это - большое спасибо! – b0redj0rd

0
SELECT 
MCHI.UNIQUE_CONTAINER_ID, 
MCHI.CLIENT_BOX_BARCODE, 
MCHI.WMS_BOX_BARCODE, 
MCHI.BOX_SIZE, 
MCHI.STORAGE_LOCATION, 
dbo.TB_CHEVRON_CORE.WELL_NAME_LEASE, 
dbo.TB_CHEVRON_CORE.WELL, 
dbo.TB_CHEVRON_CORE.PROSPECT, 
dbo.TB_CHEVRON_CORE.UNIQUE_PROVINCE_ID, 
dbo.TB_CHEVRON_CORE.COUNTY_PARISH_BOROUGH, 
DPC.UNIQUE_PROVINCE_ID, 
DPC.STATE_PROVINCE 
FROM dbo.TB_MASTER_CONTAINER_HEADER_INFORMATION as MCHI,  
dbo.TB_CHEVRON_CORE, dict.DICT_PROVINCE_COUNTY 
INNER JOIN dbo.TB_CHEVRON_CORE AS CC 
ON MCHI.UNIQUE_CONTAINER_ID = CC.UNIQUE_CONTAINER_ID 
INNER JOIN dict.DICT_PROVINCE_COUNTY as DPC 
ON DPC.UNIQUE_PROVINCE_ID = CC.UNIQUE_PROVINCE_ID 

Сообщение полной ошибки для получения дополнительной помощи

+0

Спасибо! Это работает отлично. Я ценю ваш ответ :) – b0redj0rd

+0

Но здесь вы дважды присоединяетесь к тем же таблицам, как синтаксис, разделенный запятыми, так и современный синтаксис JOIN. – jarlh

+0

Пожалуйста, отметьте его, если он сработает для вас. –