SQL条件where语句,在不同代码中具有AND逻辑,在同一代码中具有OR逻辑

问题描述

我有一个Person,其中包含类似

的列
Id,FirstName,LastName,PhoneNumber,AddressLine1,AddressLine2,PinCode

我将从存储过程中查询该表,并且我的请求将输入为Code1,Code2,Code3,Code4说

代码1将具有1|8787909000|8787909022代码2将具有2|ABC|XYZ,依此类推

规则:

  • 仅通过Code1时,我需要仅通过PhoneNumber列查询表
  • 仅通过Code2传递时,我需要仅通过AddressLine1列查询表
  • 仅通过Code3时,我需要单独使用AddressLine2列查询表
  • 仅通过Code4时,我需要单独使用PinCode列查询表

但是要说当Code1和Code2传递时,我需要查询PhoneNumber和AddressLine1,同样也要查询其他列。

同样在请求中传递了2个电话号码时,我需要查询OR条件下的PhoneNumber列

在请求中传递相同的代码时,它应该是逻辑或,而在存在不同的逻辑代码时,它应该是逻辑与

例如:

  • 代码1-电话号码1或电话号码2

  • 代码2-AddressLine1

  • (电话号码1或电话号码2)和地址行1

即(代码1和代码2)

可以请一些人分享一下逻辑吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)