2016-10-18 2 views
0

enter image description hereSQL- Мульти-часть не может быть связан

При выполнении следующего запроса, я получаю Часть идентификатора Мульти не может быть связана ошибка. Незлая помощь.

Запрос:

SELECT 
    C.CustomerID, C.LastName, A.ArtistID, A.LastName 
FROM 
    CUSTOMER as C, ARTIST as A 
WHERE 
    CUSTOMER_ARTIST_INT.CustomerID = CUSTOMER.CustomerID 
    AND CUSTOMER_ARTIST_INT.ArtistID = ARTIST.ArtistID; 
+0

[Вредные привычки пинать: использование старого стиля JOIN и] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old -style-joins.aspx) - стиль старого стиля * разделенный запятыми список таблиц * был заменен на * правильный * ANSI 'JOIN' синтаксис в ANSI - ** 92 ** SQL Standard (** более 20 лет ** назад), и его использование не рекомендуется –

ответ

1

Попробуйте

SELECT C.CustomerID, C.LastName, A.ArtistID, A.LastName 
FROM CUSTOMER as C, ARTIST as A WHERE CUSTOMER_ARTIST_INT.CustomerID=C.CustomerID AND CUSTOMER_ARTIST_INT.A=ARTIST.ArtistID 
+0

Все еще получая ту же ошибку для CUSTOMER_ARTIST_INT.CustomerID и CUSTOMER_ARTIST_INT.A. –

+0

Я получил ответ. –

+0

SELECT C.CustomerID, C.LastName, A.ArtistID, A.LastName FROM CUSTOMER как C, ARTIST как A, CUSTOMER_ARTIST_INT как J WHERE J.CustomerID = C.CustomerID AND J.ArtistID = A.ArtistID; –

0

попробовать это:

SELECT C.CustomerID, C.LastName, A.ArtistID, A.LastName 
FROM CUSTOMER C 
inner join ARTIST A 
on a.CustomerID=c.CustomerID 
AND a.ArtistID=c.ArtistID ; 
1

Вы не можете позвонить CUSTOMER_ARTIST_INT.CustomerID без использования в запросе на выборку ..

использование это:

SELECT C.CustomerID, C.LastName, A.ArtistID, A.LastName 
FROM CUSTOMER as C, ARTIST as A,CUSTOMER_ARTIST_INT as CAI WHERE CAI.CustomerID=C.CustomerID AND CIA.ArtistID=A.ArtistID; 
0

Никогда не используйте запятые, чтобы строить отношения между таблицами. Используйте надлежащее значение JOINs. В вашем скрипте вы не указали таблицу CUSTOMER_ARTIST_INT в предложении FROM и без упоминания таблицы вы не можете получить доступ к столбцам (CUSTOMER_ARTIST_INT.CustomerID and CUSTOMER_ARTIST_INT.ArtistID).

Измените свой сценарий, как показано ниже, переместите условия от WHERE до ON с использованием соответствующего JOINS, а также попробуйте использовать псевдонимы для представления таблицы.

SELECT C.CustomerID, C.LastName, A.ArtistID, A.LastName 
FROM CUSTOMER C 
     JOIN CUSTOMER_ARTIST_INT CA ON C.CustomerID=CA.CustomerID 
     JOIN ARTIST A ON CA.ArtistID=A.ArtistID 
Смежные вопросы