我有一个存储过程和一些参数。我想编写查询语句,使其与某些表联接,但仅在特定参数具有值时进行。以以下示例为例:我有一个人员表。还有一个地址表,其中保存人员地址,以及一个保存人员分组的组表。两者都是与人员表的一对多关系。我的存储过程具有@ AddressID参数和@ GroupID参数。
查询始终只返回Person表中的字段。如果没有任何参数具有值,则查询应从Person表返回所有记录。如果提供@ AddressID参数,则它应仅返回在Address表中具有匹配记录的记录,并忽略Groups表。如果提供了@ GroupID参数,则它应仅返回在Groups表中具有匹配记录的记录,并忽略Addresses表。如果两个参数都提供了,则它只应显示在两个表中具有匹配记录的记录。明白了吗?
有没有我错过的简单方法?
谢谢, Corey
查询始终只返回Person表中的字段。如果没有任何参数具有值,则查询应从Person表返回所有记录。如果提供@ AddressID参数,则它应仅返回在Address表中具有匹配记录的记录,并忽略Groups表。如果提供了@ GroupID参数,则它应仅返回在Groups表中具有匹配记录的记录,并忽略Addresses表。如果两个参数都提供了,则它只应显示在两个表中具有匹配记录的记录。明白了吗?
有没有我错过的简单方法?
谢谢, Corey