Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-无法绑定多部分标识符_Sql_Sql Server_Database_Sql Server 2008 - Fatal编程技术网

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多年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,不鼓励使用它