[英]MySQL Inserting Multiple Columns and Rows into a Temporary Table
我有一張臨時表:
CREATE TEMPORARY TABLE IF NOT EXISTS `temp`
AS (
SELECT COUNT(*) as count, YEAR(end_date)
FROM a
WHERE column_1 = "some_condition"
GROUP BY YEAR(end_date)
);
然后我嘗試在此表中添加新值
INSERT INTO temp (count, year)
VALUES(
SELECT COUNT(*) as count, year(end_date)
FROM b
WHERE column_1 = "some_condition"
GROUP BY YEAR(end_date)
);
而這一行引發了錯誤。 錯誤給出:
1064 - 您的SQL語法出錯; 檢查與MySQL服務器版本對應的手冊,以獲得正確的語法
'SELECT COUNT(*)as count,year(end_date)FROM b
WHERE column_1 =第3行的“某些條件”
我想要實現的是選擇要插入臨時表的新行和列。 有任何想法嗎?
在第一個查詢之后,臨時表應該如下所示:
count year
3 2012
20 2013
104 2011
第二個查詢的選定結果如下所示
count year
6 2013
預期結果:
count year
3 2012
20 2013
104 2011
6 2013
在Insert語句中嘗試不使用“VALUES”語法: http : //www.w3schools.com/sql/sql_insert_into_select.asp
INSERT INTO `temp` (`count`, `year`)
SELECT
COUNT(*),
year(`end_date`)
FROM `b`
WHERE `column_`` = "condition" GROUP BY YEAR(end_date);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.