2016-04-20 53 views
2

一个文本文件我试图在MySQL中打印两个表的查询结果在一个文本文件 注:Employee表中有6列..如何在MySQL中建立

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语句有不同列数“..是否有任何解决方案this..atleast请告诉我如何追加或添加一个字符串到已存在的文本文件在MySQL中。

+0

米哈伊,你必须运行你的查询之前了解联盟关键字的逻辑。 http://www.mysqltutorial.org/sql-union-mysql.aspx和几个基本要点: - “在相应的SELECT语句中出现的列数必须相等。” “ ”列出现在每个SELECT语句的相应位置必须具有相同的数据类型或至少可转换的数据类型。“ –

回答

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'; 
+0

谢谢你,我明白了......请帮助我一件事..如何删除一个文件使用MySQL查询..有没有任何选项..或如何删除一个文件夹...请帮我从这个问题 –

+0

@AntonytintoJ我不认为这是可能的在MySQL中 – Jens

0

由于员工表中有超过600列次选择“SELECT * FROM emplyee”也6列。但是“选择cardnum,txndate,terminalid,txnamount from users”只有4列是无效的联合操作。

表雇员与用户之间是否有任何关系?

也许你可以写

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'