C#中的SQL查询错误:使用SELECT JOIN WHERE OR

萨米·G

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');"

这是我的错误

在需要“ 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
);

谢谢

普拉文·德什穆克

这是您想要的,您还需要进行转换以投射TEXTvarcharnvarchar

SELECT Array_ID 
FROM Array_Location JOIN 
     Obj_Type ON Obj_Type.Type_ID = Array_Location.Obj_Type 
WHERE (Convert(nvarchar(max),Obj_Type.Object) = N'CIRCLE') OR (Convert(nvarchar(max),Obj_Type.Object) = N'POLYGON');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档