我正在寻找一种动态搜索多个表的模式。
我无法控制遗留(且设计不良)的数据库表结构。
考虑一个类似于简历搜索的场景,用户可以针对简历中的任何数据执行搜索,并返回符合其搜索条件的简历列表。任何字段都可以随时进行搜索,并与一个或多个其他字段组合进行搜索。
实际的SQL查询根据搜索的字段动态创建。大多数解决方案都涉及复杂的if语句块,但我不能不认为现在必须有更优雅的解决方案,因为这必须是一个已经解决的问题。
嗯,所以我已经开始通过代码动态构建SQL。看起来非常糟糕。如果我真的想支持请求查询任何表中任何字段的任何组合,这将是一个巨大的if语句集合。
我相信我读到过COALESCE仅在数据不包含NULL值时才起作用。那是正确的吗?如果是这样,就行不通,因为我的数据中到处都是NULL值。
我无法控制遗留(且设计不良)的数据库表结构。
考虑一个类似于简历搜索的场景,用户可以针对简历中的任何数据执行搜索,并返回符合其搜索条件的简历列表。任何字段都可以随时进行搜索,并与一个或多个其他字段组合进行搜索。
实际的SQL查询根据搜索的字段动态创建。大多数解决方案都涉及复杂的if语句块,但我不能不认为现在必须有更优雅的解决方案,因为这必须是一个已经解决的问题。
嗯,所以我已经开始通过代码动态构建SQL。看起来非常糟糕。如果我真的想支持请求查询任何表中任何字段的任何组合,这将是一个巨大的if语句集合。
我相信我读到过COALESCE仅在数据不包含NULL值时才起作用。那是正确的吗?如果是这样,就行不通,因为我的数据中到处都是NULL值。