Mat*_*ski 9 ruby sql postgresql ruby-on-rails
在我的Ruby on Rails应用程序中,我使用了blazer(https://github.com/ankane/blazer),我有以下sql查询:
SELECT *
FROM survey_results sr
LEFT JOIN clients c ON c.id = sr.client_id
WHERE sr.client_id = {client_id}
Run Code Online (Sandbox Code Playgroud)
此查询非常有效.但我需要添加条件逻辑来检查client_id变量是否存在.如果是,那么我按这个变量过滤,如果没有,那么我不启动这个where子句.我怎么能在PostgreSQL中做到这一点?
sag*_*agi 20
检查它是否为空或您的条件如下:
WHERE {client_id} IS NULL OR sr.client_id = {client_id}
Run Code Online (Sandbox Code Playgroud)
该WHERE子句评估如下:如果变量为空,则WHERE子句计算为true,因此 - 没有过滤器.如果没有,它继续下一个条件OR
| 归档时间: |
|
| 查看次数: |
4319 次 |
| 最近记录: |