Heim > Artikel > Backend-Entwicklung > 一下大家,打了三个小时了
小人不才,mysql学得一塌糊涂..........................................急求大家帮助..........................
我的目的是将查询后的结果作为一张临时表存放起来,我的sql语句如下:
select a.value,a.id,b.value from a,b where a.value=b.value as k;
居然报错...........................................请问正确的语法是什么??
两张表都是存在的
相应的字段也是存在的
我觉得应该是语法上面有错误,请问正确的语法是什么??
十万火急,万分感谢!!!!!!!!!!!!!!!!!!!!!
报错就有错误信息
而错误信息中已经给出了出现问题的位置
as k似乎有问题,去掉试试。
select * from (select a.value,a.id,b.value from a,b where a.value=b.value ) k;
select * from (select a.value,a.id,b.value from a,b where a.value=b.value ) k;
报错就有错误信息
而错误信息中已经给出了出现问题的位置
你的语句是什么,贴出来看看。
create temporary table k select a.value,a.id,b.value from a,b where a.value=b.value
报错就有错误信息
而错误信息中已经给出了出现问题的位置
create table temp_table as select * from table;
创建临时表是用create temporary table tablename,然后把数据插入。
在phpmyadmin运行可以看到结果
create temporary table k( `a` varchar(20) NOT NULL, `aid` int(11) NOT NULL, `b` varchar(20) NOT NULL);insert into k(a,aid,b) select a.value,a.id,b.value from a,b where a.value=b.value;select * from k;
版主写的那句需要改一改。
create temporary table k select a.value as aval,a.id as aid,b.value as bval from a,b where a.value=b.value;select * from k;
with k as (select a.value,a.id,b.value as value1 from a,b where a.value=b.value)select * from k
或者是
select * from (select a.value,a.id,b.value as value1 from a,b where a.value=b.value) k
需要注意的是select a.value,a.id,b.value这里不能有重复的字段
未结贴吗?还有问题?