x1的SQL WHERE子句=";a「;或z<&燃气轮机;空白,但也不=至';F';

x1的SQL WHERE子句=";a「;或z<&燃气轮机;空白,但也不=至';F';,sql,vb.net,where-clause,Sql,Vb.net,Where Clause,我在一个多重假设WHERE子句中苦苦挣扎… 我正在创建一个动态SQL语句来从PSQL数据库检索数据 SQL动态语句如下所示: P1=(项目#)要包含在结果中的项目代码 P2=(部门)要从结果中排除的部门ID P3=(ID)要从与上述P2部门相关的结果中排除的控制ID 因此,在用户输入值后,他们单击运行下面代码的[Export]按钮。但需要使用sql1(my SQL语句,其中变量)返回流动条件的所有数据: 注:x1、x2、x3为静态值,用户不输入 1) 具有以下属性的所有记录:FieldA=P1和

我在一个多重假设WHERE子句中苦苦挣扎… 我正在创建一个动态SQL语句来从PSQL数据库检索数据

SQL动态语句如下所示:

P1=(项目#)要包含在结果中的项目代码
P2=(部门)要从结果中排除的部门ID
P3=(ID)要从与上述P2部门相关的结果中排除的控制ID

因此,在用户输入值后,他们单击运行下面代码的[Export]按钮。但需要使用sql1(my SQL语句,其中变量)返回流动条件的所有数据:

注:x1、x2、x3为静态值,用户不输入

1) 具有以下属性的所有记录:FieldA=P1和FieldB=Null和(FieldC'x1'或FieldC'x2'或FieldC'x3')

2) 具有以下内容的所有记录:FieldA=P1和(FIELDBLANK、FieldBP2和FieldCP3)

这是上面的第二个问题:


我需要所有具有(FieldA=P1和FieldB=BLANK)但必须排除FieldA=P1和FieldB=P2和FieldC=P3时所有记录的记录。您是否尝试过:
(FieldA=P1和FieldB=BLANK)和非(FieldA=P1和FieldB=P2和FieldC=P3)
。你需要确定什么是空白。您的意思可能是
(FieldA=P1,FieldB为空)
。不太确定yetNo。。但我会尽力让你知道的。这个“Blank”为空。感谢您建议使用,而不是。。。。工作正常,但也使我进一步陷入SQL语句的另一个问题。起初,我仍然没有得到我预期的数据结果,直到我使用AND NOT和更多括号的组合来进一步分隔WHERE子句的各个部分并将其链接在一起。这和我的问题一起并没有解决!谢谢您尝试过:
(FieldA=P1和FieldB=BLANK)和NOT(FieldA=P1和FieldB=P2和FieldC=P3)
。你需要确定什么是空白。您的意思可能是
(FieldA=P1,FieldB为空)
。不太确定yetNo。。但我会尽力让你知道的。这个“Blank”为空。感谢您建议使用,而不是。。。。工作正常,但也使我进一步陷入SQL语句的另一个问题。起初,我仍然没有得到我预期的数据结果,直到我使用AND NOT和更多括号的组合来进一步分隔WHERE子句的各个部分并将其链接在一起。这和我的问题一起并没有解决!谢谢