Postgresql有条件地在查询中包含不同的
Postgresql conditionally include distinct in query
Postgresql 有条件地在查询中包含 distinct
有没有办法修改这样的查询:
select distinct col1, col2
from our_schema.our_table
where (id = '1001')
目标是轻松 activate/deactivate 不同的关键字。
显然,可以将其移动到评论中,例如:
select col1, col2 -- distinct
from our_schema.our_table
where (id = '1001')
在 Postgresql 中有没有简单的方法可以做到这一点?
我在 Microsoft SSMS 中看到 'dynamic SQL' 使用 TSQL 语言。
Postgresql 有这样的东西吗?或者更简单的东西?
似乎这只是关于代码管理/构建 SQL 字符串?
在 DISTINCT
后插入一个换行符。 SQL 中白色 space 的唯一意义在于 separate tokens. Other than that, line breaks are purely cosmetic - except for standard comments starting with --
以行结尾。
SELECT DISTINCT
col1, col2 ...
-->
SELECT -- DISTINCT
col1, col2 ...
甚至:
SELECT
DISTINCT
col1, col2 ...
-->
SELECT
-- DISTINCT
col1, col2 ...
或使用C-style block comments: /* comment */
SELECT DISTINCT col1, col2 ...
-->
SELECT /*DISTINCT*/ col1, col2 ...
Postgresql 有条件地在查询中包含 distinct
有没有办法修改这样的查询:
select distinct col1, col2
from our_schema.our_table
where (id = '1001')
目标是轻松 activate/deactivate 不同的关键字。
显然,可以将其移动到评论中,例如:
select col1, col2 -- distinct
from our_schema.our_table
where (id = '1001')
在 Postgresql 中有没有简单的方法可以做到这一点?
我在 Microsoft SSMS 中看到 'dynamic SQL' 使用 TSQL 语言。 Postgresql 有这样的东西吗?或者更简单的东西?
似乎这只是关于代码管理/构建 SQL 字符串?
在 DISTINCT
后插入一个换行符。 SQL 中白色 space 的唯一意义在于 separate tokens. Other than that, line breaks are purely cosmetic - except for standard comments starting with --
以行结尾。
SELECT DISTINCT
col1, col2 ...
-->
SELECT -- DISTINCT
col1, col2 ...
甚至:
SELECT
DISTINCT
col1, col2 ...
-->
SELECT
-- DISTINCT
col1, col2 ...
或使用C-style block comments: /* comment */
SELECT DISTINCT col1, col2 ...
-->
SELECT /*DISTINCT*/ col1, col2 ...