Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как обяединить 2 таблицы и вывести даные?
(SELECT title, name, year FROM knigi WHERE author ='$author')
UNIONALL
(SELECT title, name, year FROM gurnal WHERE author ='$author')
ORDERBY year
Спасибо за подсказку подобное уже пытался реализовать только SELECT * ставил поэтому и ошибки выскакивали ( , как я понял то поля title, name, year должны в обеих таблицах совпадать и если я захочу вывести в title, name, year, и добавлю новую ячейку firma в таблице knigi то будет выдавать ошибку, вопрос как и эту ячейку вывести на экран если она находится только в табл. firma knigi?
Автор 2 Заголовок журнала 4 Название журнала 42013
Автор 2 Заголовок книги 3 Название книги 32013
Мелкий
Отправлено: 15 Июня, 2013 - 18:21:08
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
pasha52 пишет:
как я понял то поля title, name, year должны в обеих таблицах совпадать
Количество и порядок полей всех запросов, объединяемых union, должно совпадать.
Классический обходной манёвр, если поле есть только в одной из таблиц - указать в других таблицах вместо поля любую удобную для последующей обработки константу:
(SELECT title, name, year, firma,'this row from table knigi'AS src FROM knigi WHERE author ='$author')
UNIONALL
(SELECT title, name, year,NULLAS firma,'this row from table gurnal'AS src FROM gurnal WHERE author ='$author')
ORDERBY year
----- PostgreSQL DBA
pasha52
Отправлено: 15 Июня, 2013 - 20:04:08
Новичок
Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Мелкий пишет:
Классический обходной манёвр, если поле есть только в одной из таблиц - указать в других таблицах вместо поля любую удобную для последующей обработки константу:
ага теперь понял БОЛЬШОЕ СПАСИБО за разъяснение, так как сегодня только столкнулся с UNION и JOIN на многих форумах когда искал решения встречал приставки
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.