SQL 对我来说仍然相对较新,但这是我从所做的研究中得出的。
这是我的sql命令:
"SELECT Array_ID
FROM Array_Location JOIN
Obj_Type.Type_ID ON Array_Location.Obj_Type
WHERE (Obj_Type.Object = 'CIRCLE')
OR (Obj_Type.Object = 'POLYGON');"
这是我的错误
An expression of non-boolean type specified in a context where a condition is expected, near 'WHERE'
这是一个语法问题,但我不确定解决方案
我有两个表是:
CREATE TABLE [dbo].[Obj_Type] (
[Type_ID] INT NOT NULL,
[Object] TEXT NOT NULL,
CONSTRAINT [PK_OBJ_TYPE] PRIMARY KEY CLUSTERED ([Type_ID] ASC)
);
CREATE TABLE [dbo].[Array_Location] (
[Array_ID] INT NOT NULL,
[Obj_Type] INT NOT NULL,
[Element_ID] INT NOT NULL,
CONSTRAINT [Array_Location_fk0] FOREIGN KEY ([Obj_Type]) REFERENCES [dbo].[Obj_Type] ([Type_ID]) ON UPDATE CASCADE
);
谢谢
最佳答案
原因:
您在 JOIN 中有语法错误:
Array_Location JOIN Obj_Type.Type_ID ON Array_Location.Obj_Type
解决方案:
SELECT Array_ID
FROM Array_Location JOIN
Obj_Type ON Obj_Type.Type_ID = Array_Location.Obj_Type
WHERE (CONVERT(nvarchar(50),Obj_Type.Object) = N'CIRCLE')
OR (CONVERT(nvarchar(50),Obj_Type.Object) = N'POLYGON');
关于c# - C# 中的 SQL 查询错误 : Using SELECT JOIN WHERE OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727921/