请教SQL优先查询语句(MSSQL)

image

表如上图所示,学生和项目二行可以为空,也可有值;二个字段中各个参数用英文逗号隔开的.

优先查询二个字段都有包含数据的,再查有一个字段包含,最后再查两个字段都为空。如果为空二个字段不存在, 就返回无。字段内为空表示通配

例:
学生小王,项目跳高,则优先返回ID为1,二个字段内都存在符合数据
学生小王,项目篮球,则只有ID为5
学生小王,项目足球,则返回ID为4
学生小谢,项目跑包,则返回ID为3

当ID为4字段不存在,学生小赵,项目田径,那么返回空,无记录。

阅读 1.9k
1 个回答

业务逻辑不要用 SQL 处理,你分成几步,用几条 SQL 查询,就解决了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进