[英]syntax error during VIEW creation in MySQL
我試圖在MySQL中編寫一個VIEW查詢。 以下是我的查詢。
CREATE VIEW SAMPLE_TEST(server, xml) AS
WITH ServerSettings(server, ServerSettings) AS (
SELECT
S.ID
FROM SERVER S
INNER JOIN SAMPLE_MAC DMA ON S.DOMAIN = DMA.DOMAIN
ORDER BY S.ID
),
DomainSettings(server, DomainSettings) AS (
SELECT
S.ID,
FROM SERVER S
INNER JOIN DOMAIN D ON D.ID = S.DOMAIN
ORDER BY S.ID
)
SELECT SS.server,
XMLCONCAT(
DS.DomainSettings,
SS.ServerSettings
)
FROM ServerSettings SS
INNER JOIN DomainSettings DS ON SS.server = DS.server;
當我在MySQL上運行時,出現以下錯誤消息。
right syntax to use near 'ServerSettings(server, ServerSettings) AS (
SELECT
S.ID
FROM SERVE' at line 6
但是根據MySQL文檔,我可以看到CREATE VIEW AS WITH
存在。 我仍然缺少任何語法錯誤嗎? 有什么建議嗎
那么如何在MySQL 5.7.12中編寫這些查詢呢?
使用子查詢或創建多個視圖。
1)子查詢
CREATE VIEW SAMPLE_TEST(server, xml) AS
SELECT SS.server,
XMLCONCAT(
DS.DomainSettings,
SS.ServerSettings
)
FROM (
SELECT S.ID AS SERVER
, S.SERVERSETTINGS -- ?
FROM SERVER S
INNER JOIN SAMPLE_MAC DMA
ON S.DOMAIN = DMA.DOMAIN
) SS
INNER JOIN (SELECT S.ID AS SERVER,
, S.DOMAINSETTINGS -- ?
FROM SERVER S
INNER JOIN DOMAIN D
ON D.ID = S.DOMAIN) DS
ON SS.server = DS.server;
2)分開的意見
CREATE VIEW ServerSettings AS (
SELECT S.ID AS SERVER
, S.SETTINGS -- SETTING COLUMN(S)?
FROM SERVER S
INNER JOIN SAMPLE_MAC DMA
ON S.DOMAIN = DMA.DOMAIN;
CREATE VIEW DomainSettingsAS AS (
SELECT S.ID AS SERVER,
, D.DOMAINSETTINGS -- DOMAIN SETTINGS COLUMN(S)
FROM SERVER S
INNER JOIN DOMAIN D
ON D.ID = S.DOMAIN;
SELECT SS.server,
XMLCONCAT(
DS.DomainSettings,
SS.ServerSettings )
FROM ServerSettings SS
INNER JOIN DomainSettings DS
ON SS.server = DS.server;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.