第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL:FROM子句限制中的帶有子查詢的視圖

MySQL:FROM子句限制中的帶有子查詢的視圖

慕斯王 2019-10-19 16:29:59
在MySQL 5.0中,為什么嘗試在FROM子句中創(chuàng)建帶有子查詢的視圖時會發(fā)生以下錯誤?錯誤1349(HY000):視圖的SELECT在FROM子句中包含一個子查詢?nèi)绻@是MySQL引擎的限制,那么為什么他們還沒有實現(xiàn)此功能呢?此外,對于此限制有哪些好的解決方法?是否有任何變通方法可用于FROM子句中的任何子查詢,或者是否存在某些無法在FROM子句中使用子查詢無法表達(dá)的查詢?查詢示例(已包含在注釋中):SELECT temp.UserName FROM (SELECT u1.name as UserName, COUNT(m1.UserFromId) as SentCount       FROM Message m1, User u1       WHERE u1.uid = m1.UserFromId       Group BY u1.name HAVING SentCount > 3 ) as temp
查看完整描述

3 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

我有同樣的問題。我想創(chuàng)建一個視圖來顯示最近一年的信息,該視圖從一張記錄了2009年至2011年記錄的表格中顯示。這是原始查詢:


SELECT a.* 

FROM a 

JOIN ( 

  SELECT a.alias, MAX(a.year) as max_year 

  FROM a 

  GROUP BY a.alias

) b 

ON a.alias=b.alias and a.year=b.max_year

解決方案概述:


為每個子查詢創(chuàng)建一個視圖

用這些視圖替換子查詢

這是解決方案查詢:


CREATE VIEW v_max_year AS 

  SELECT alias, MAX(year) as max_year 

  FROM a 

  GROUP BY a.alias;


CREATE VIEW v_latest_info AS 

  SELECT a.* 

  FROM a 

  JOIN v_max_year b 

  ON a.alias=b.alias and a.year=b.max_year;

它在mysql 5.0.45上運(yùn)行良好,沒有太多的速度損失(與執(zhí)行沒有任何視圖的原始子查詢select相比)。


查看完整回答
反對 回復(fù) 2019-10-19
  • 3 回答
  • 0 關(guān)注
  • 893 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號