我在SQL Server 2012中使用SET和SELECT时遇到了一个问题。
使用以下SQL语句:
SELECT @CellNo= Complainants.CellNo FROM Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
它有效;但是当我使用以下声明时:
SET @CellNo= Complainants.CellNo from Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
然后它不起作用;报告的错误是:
Error: Incorrect syntax near FROM
为什么会出现此错误?
答案 0 :(得分:0)
使用以下SET命令格式:
SET @CellNo= (Select Complainants.CellNo from Complainants
inner join Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
Where Complaints.ComplaintID = @ComplaintID)
答案 1 :(得分:0)
使用此:
SET @CellNo = (SELECT Complainants.CellNo
FROM Complainants INNER JOIN
Complaints ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID)
答案 2 :(得分:0)
这不是一个问题,这是它应该如何工作。使用SET设置变量值,然后使用SELECT从表中选择数据。如果需要从列中读取数据,则必须使用SELECT。使用带有subselect组合的set可以使用,但会增加额外的代码。