如下的實際例子代碼可以將查詢的結果放入到一張自定義表中,同時可以再從這個自定義的表中查詢數據:
with AA as (SELECT TICKETNUMBER, TICKETTYPE, VERSIONNUMBER, STAGENAME, DTANALYZED, GISPROCESSID, PROCESSSTATUS, DTRECEIVED, USERID, USERNAME, FIRSTNAME, LASTNAME, NUMBEROFDAYS FROM REPORT_PERFORMANCEOFANALYZER WHERE (DTANALYZED IS NULL) UNION ALL SELECT TICKETNUMBER, TICKETTYPE, VERSIONNUMBER, STAGENAME, DTANALYZED, GISPROCESSID, PROCESSSTATUS, DTRECEIVED, USERID, USERNAME, FIRSTNAME, LASTNAME, NUMBEROFDAYS FROM REPORT_PERFORMANCEOFANALYZER REPORT_PERFORMANCEOFANALYZER_1) SELECT TICKETNUMBER, TICKETTYPE, VERSIONNUMBER, STAGENAME, DTANALYZED, GISPROCESSID, PROCESSSTATUS, DTRECEIVED, USERID, USERNAME, FIRSTNAME, LASTNAME, NUMBEROFDAYS, (SELECT COUNT(GISPROCESSID) AS COUNTTICKETS FROM AA) COUNTTICKETS FROM AA ORDER BY USERNAME;
Insert into t_tab
select * from s_tab where 條件
視圖 可以看作是哈哈鏡裡看到的 一個或多個table的變形,
只要表變化, 視圖看到的內容也會跟著變化的
--可以使用sql99語法中的外關聯 ,如下
SELECT
CASE WHEN 表1.姓名 IS NOT NULL
THEN 表1.姓名
ELSE CASE WHEN 表2.姓名 IS NOT NULL
THEN 表2.姓名
ELSE CASE WHEN 表3.姓名 IS NOT NULL
THEN 表3.姓名 ELSE '未知'
END
END
END AS 姓名
,表1.人數,表2.人數,表3.人數
FROM 表1 FULL OUTER JOIN
T2 ON 表1.姓名 = 表2.姓名
FULL OUTER JOIN
T3 ON 表1.姓名 = 表3.姓名
--這個方法如果表有n多張的話,名字會寫的比較繁瑣,但是思路應該沒問題
--如果看著麻煩,可以把select和from之間的語句換成 * , 相信你能看懂結果