Gna*_*nam 1 postgresql sql-returning
我们正在使用PostgreSQL v8.2.3.
是否可以使用RETURNING 子句从UPDATE语句中获取DISTINCT行?
MYTABLE列是:
使用RETURNING子句查询更新:
UPDATE MYTABLE SET ABOOLEANCOLUMN = true FROM MYTEMPTABLE WHERE EMAIL =
MYTEMPTABLE.EMAIL RETURNING EMAIL, COLUMN1, COLUMN2, COLUMN3;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望从这些列返回不同的行:EMAIL,COLUMN1,COLUMN2,COLUMN3.
我甚至尝试了一些获取不同行的方法,但它不起作用.虽然我仍然可以在应用层解决这个问题,但我试图找出是否可以在查询级别解决/控制.任何不同的想法/建议表示赞赏.
小智 8
这是一个古老的问题,但由于它是搜索中的第一个答案,而答案已经过时了,我正在分享.
使用自PG版本8.4以来可用的公用表表达式(CTE),您可以更新/删除并获得不同的结果.
WITH updater AS
(
UPDATE MYTABLE SET ABOOLEANCOLUMN = true FROM MYTEMPTABLE WHERE EMAIL = MYTEMPTABLE.EMAIL RETURNING EMAIL, COLUMN1, COLUMN2, COLUMN3
)
SELECT DISTINCT EMAIL, COLUMN1, COLUMN2, COLUMN3
FROM updater;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1578 次 |
| 最近记录: |