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 :: Как сделать запрос к двум таблицам?
Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010 Откуда: Челябинск
Помог: 1 раз(а)
Вот у меня есть две таблицы. В каждой из них есть поле id. Задча: Надо извлчеь записи из каждой таблицы, гд е id больше определённого значения и потом всё это осортировать по полю id.
Сначала делаем запрос в две таблицы с опр. условием:
SELECT Table1.id,Table2.id FROM Table1,Table2 WHERE Table1.id>'560' and Table2.id>'100'
Получается таблица состоящая из двух одинаковых колонок(id,id). Почему так? А не сплошная таблица из одной колонки с id? Просто потом при сортировки он выдаёт ошибку: #1060 - Duplicate column name 'id'. Как сделать чтоб результатом такого запроса была таблица из одной колокни id, где были бы результаты и Table1 и Table2? Заранее спасибо!
----- new01
LIME
Отправлено: 16 Ноября, 2011 - 14:17:52
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
SELECT * FROM(SELECT id FROM Table1 WHERE id>'560'
UNION
SELECT id FROM Table2 WHERE id>'100')AS x ORDER BY id
И сортирую результаты по id.
----- new01
LIME
Отправлено: 16 Ноября, 2011 - 14:26:54
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
new01 только выше указали правильное замечание про ALL иначе будет дистинкт по умолчанию
и вообще чем вариант евгена не угодил?
new01
Отправлено: 16 Ноября, 2011 - 14:35:44
Посетитель
Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010 Откуда: Челябинск
Помог: 1 раз(а)
LIME, Я просто не заметил сортировку у EuGen. Вот у меня небольшая проблема возникла. Мне надо колонку получить из каждой таблицы не только id. Но проблема в том, что они разные. И в ответе мне показывают только колонки к примеру из первой таблицы. Как сделать чтоб были все колонки?
Пишет ошибку разное количество колонок:
1222 - The used SELECT statements have a different number of columns
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.