就像标题所说,我试图将查询结果存储在一个变量中,以便我可以在另一个加入它们的查询中使用它。我一直在尝试使用INTO
santex,因为它在谷歌上描述它。这就是我要输入的内容:
mysql> select Name, Type, Region from table1 union select Name, Type, Region from Table2 into @temp1;
但是,有了这个,我收到了这个错误:
ERROR 1222 (21000): The used SELECT statements have a different number of columns
由于Select
语句具有相同的列数,因此没有意义。所以我想也许是我的变量,所以我删除@
并再次尝试,但我得到了这个错误:
ERROR 1327 (42000): Undeclared variable: temp
所以现在我迷路了,我做错了什么?我遵循谷歌上几个维基上描述的语法,但没有运气。
答案 0 :(得分:0)
您需要在SELECT语句中设置变量,而不是在之后。 请参阅:http://dev.mysql.com/doc/refman/5.0/en/example-user-variables.html
答案 1 :(得分:0)
您可以像这样创建一个临时表。
mysql> CREATE TEMPORARY TABLE SalesSummary (
-> product_name VARCHAR(50) NOT NULL
-> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
他们在这里有很棒的教程:http://www.tutorialspoint.com/mysql/mysql-temporary-tables.htm