2016-04-20 5 views
2

пытается в MySQL напечатать результат запроса две таблицы в одном текстовом файле Примечания: таблица работник 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'; 

его показ «используется ЗЕЬЕСТ имеет разную количество столбцов ".. есть ли какое-либо решение для этого. Пожалуйста, скажите мне, как добавить или добавить строку в уже существующий текстовый файл в mysql.

+0

Михай, вы должны понять логику ключевого слова Union перед выполнением запроса. http://www.mysqltutorial.org/sql-union-mysql.aspx и несколько основных моментов: - «Количество столбцов, отображаемых в соответствующих операторах SELECT, должно быть равным». «Столбцы, отображаемые в соответствующих позициях каждого оператора SELECT, должны иметь один и тот же тип данных или, по крайней мере, тип конвертируемых данных». –

ответ

0

Вы должны написать имена столбцов не select * и добавить nulll для 2-х колонок, которые не находятся в пользователя

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

Поскольку таблица сотрудников имеет 6 столбцов, чем к югу выберите «выберите * из emplyee» имеет также 6 столбцов. Но «select cardnum, txndate, terminalid, txnamount from users» имеют только 4 столбца, которые не являются действительными.

Есть ли какое-либо отношение между таблицами emploee и пользователями?

Вероятно, вы можете написать

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' 
Смежные вопросы