我正在尝试使用mysql在一个文本文件中打印两个表查询结果 注意:员工表有6列..
select * from employee union
select cardnum,txndate,terminalid,txnamount from users INTO OUTFILE 'E:/antonyfile.txt'
FIELDS TERMINATED BY '\t'
ENCLOSED BY ''
LINES TERMINATED BY '\r\n';
它显示“使用的SELECT语句具有不同的列数”..是否有任何解决方案..至少请告诉我如何在mysql中将已存在的文本文件追加或添加一个字符串。
答案 0 :(得分:0)
您必须编写不是select *
的列名,并为不在用户中的2列添加nulll
select col1,col2,col3,col4,col5,col6 from employee union
select cardnum,txndate,terminalid,txnamount,null,null from users INTO OUTFILE 'E:/antonyfile.txt'
FIELDS TERMINATED BY '\t'
ENCLOSED BY ''
LINES TERMINATED BY '\r\n';
答案 1 :(得分:0)
由于员工表有6列而不是子选择"选择*来自emplyee"还有6列。但是"选择cardnum,txndate,terminalid,txnamount from users"只有4列无效的联合操作。
表employeesee和users之间是否有任何关系?
可能你可以写
select e.*, u.cardnum,u.txndate,i.terminalid,u.txnamount
from employee e
left join users u on **e.!!user_id!! = u.!!user_Id!!**
union
select e.*, u.cardnum,u.txndate,i.terminalid,u.txnamount
from employee e
right join users u on **e.!!user_id!! = u.!!user_Id!!**
INTO OUTFILE 'E:/antonyfile.txt' FIELDS TERMINATED BY '\t'