【发布时间】:2017-01-13 18:09:57
【问题描述】:
我在 SQL Server 数据库中有一个视图,我想将此视图转换为 Postgresql 视图,我尝试了多次,但每次都出现语法错误。
请你看看我的sql并帮我转换一下好吗?
CREATE VIEW dbo.View_RtbActiveSitePlacesCtrWeekly
AS
SELECT
Id,
CASE WHEN Shows > 0 THEN CASE WHEN Clicks > 0 THEN Clicks ELSE 1 END / CAST(Shows AS float) * 100 ELSE 0 END AS CTR,
ShowsCost / 1000 / CASE WHEN Clicks > 0 THEN Clicks ELSE 1 END AS AvClickCost, CASE WHEN Shows > 0 THEN ShowsCost / Shows ELSE 0 END AS AvCpm,
CASE WHEN Clicks > 0 THEN 0 ELSE 1 END AS IsCtrPredicted, ClicksCost - ShowsCost / 1000 AS Balance
FROM
(SELECT
p.Id,
ISNULL(SUM(st.ClicksCount), 0) AS Clicks,
ISNULL(SUM(st.ShowsCount), 0) AS Shows,
ISNULL(SUM(st.ShowsCost), 0) AS ShowsCost,
ISNULL(SUM(st.ClicksCost), 0) AS ClicksCost
FROM
whis2011.dbo.RtbActiveSitePlaces AS p
OUTER APPLY
(SELECT TOP (30)
RtbActiveSitePlaceId pId, Date, ShowsCount, ShowsCost,
ClicksCount, ClicksCost
FROM
whis2011.dbo.RtbActiveSitePlaceStatistics
WHERE
RtbActiveSitePlaceId = p.Id
AND Date >= '2016-05-01 00:00:00.000'
AND (ShowsCount > 0 OR ClicksCount > 0)
ORDER BY
Date DESC) AS st
WHERE
p.LastAccess >= DATEADD(dd, - 1, GETDATE())
GROUP BY p.Id) t;
【问题讨论】:
-
你遇到了什么语法错误?
标签: sql-server database postgresql views