2016-04-20 94 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'