SQL-无法绑定多部分标识符
在执行以下查询时,我发现多部分标识符无法绑定错误。请帮忙 查询:SQL-无法绑定多部分标识符,sql,sql-server,database,sql-server-2008,Sql,Sql Server,Database,Sql Server 2008,在执行以下查询时,我发现多部分标识符无法绑定错误。请帮忙 查询: 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.Artist
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;
试试这个
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
试试这个:
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 ;
如果不在select查询中使用CUSTOMER\u ARTIST\u 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;
切勿使用逗号在表之间建立关系。使用适当的工具。 在脚本中,您没有将表
CUSTOMER\u ARTIST\u INT
包含在FROM
子句中,如果不提及该表,您将无法访问列(CUSTOMER\u ARTIST\u INT.CustomerID和CUSTOMER\u ARTIST\u INT.ArtistID
)
如下所示更改脚本,使用适当的联接将条件从WHERE
子句移动到ON
,并尝试使用别名表示表
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
对于CUSTOMER\u-ARTIST\u-INT.CustomerID和CUSTOMER\u-ARTIST\u-INT.A,仍然得到相同的错误。我得到了答案。从CUSTOMER中选择C.CustomerID、C.LastName、A.ArtistID、A.LastName作为C、ARTIST作为A、CUSTOMER\u-ARTIST\u-INT作为J,其中J.CustomerID=C.CustomerID和J.ArtistID=A.ArtistID;使用内部连接>>>>从客户中选择C.customerID、C.Lastname、A.ArtistID、A.Lastname。在CA.customerID=C.customerID和CA.ArtistID=C上选择C.customerID、A.ArtistID、A.Lastname。artistID@AlanMathew您在这里所做的是一种老式的连接,最好使用join
子句…-在ANSI-92 SQL标准中(20多年前),旧样式的逗号分隔表列表样式被正确的ANSIJOIN
语法所取代,不鼓励使用它