![]() |
|
Модераторы: skyboy |
![]()
|
|
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Есть две таблицы, в одной 20 столбцов - в другой 21.
В таблицах различаются только 2 столбца. Остальные столбцы одинаковые. Как сделать SELECT * из этих двух таблиц так, чтобы эти две таблицы пристыковывались друг с другу не по стольцам или каким-то критериям, а просто чтобы для запроса SELECT * это выглядело одной таблицей с 22 столбцами. |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Admin А почему не пристыковывать по столбцам... если записи одинаковые - быбирать дополнительное поле по primary key через join...
-------------------- ![]() |
|||
|
||||
| simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
Насколько я понял эту проблему, настолько я смог сообразить решение:
Если я не так понял, поясни плиз -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
дык. записи в этих двух таблицах совершенно разные. И они никак ни по каким полям не связаны. Мне просто надо их представить ввиде одной таблицы. Добавлено @ 14:46
они не связаны. Это все должны быть разные строки в выборке. |
||||
|
|||||
| simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
Тогда же получиться декартово произведение? т.е. каждая строка первой таблицы, будет присоединена ко всем строкам второй. Тебе это нужно? Тогда просто соединяй без условий. Но (!) это не есть гут, это очень плохо.
-------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
дык, не нужно мне соединять строки одна с другой. Последний столбец первой таблицы с первым столбцом второй таблицы - не нужно. Добавлено @ 17:25 мне нужно соединение, которое было бы равносильно выбраннным данным из первой таблицы и добавленным в массив + выбранным данным из второй таблицы, которые также в этот же массив добавить. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
Может Union?
|
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Admin Может на примере пояснишь?.. А то я что-то не пойму...
-------------------- ![]() |
|||
|
||||
| Wowa |
|
||||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Да. Юнион подходит, но он только начиная с четвертой версии MySQL доступен и если разное кол-во столбцов в таблицах, то
не подходит. |
||||
|
|||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Но ведь можно в нужном запросе искусственно добавить столбцы...
-------------------- ![]() |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
как? Мне просто лень что-то все 20 столбцов, с которых выборка нужна, перечислять в запросе. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
|
|||
|
||||
| Kesh |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Вот-вот... -------------------- ![]() |
||||
|
|||||
| Cetus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 18.4.2004 Репутация: 1 Всего: 1 |
можно так попробовать, и гемороя не будет с написанием всех столбцов
SELECT table1.*, NULL from table1 union select table2.* from table2 (тестировалось на MySQL 4.0.2) Добавлено @ 07:13 либо вместо NULL написать '' (как было замечено выше) --------------------
Легко внести изменения в код.Трудно сделать это корректно. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Все бы хорошо, но нужно иметь гарантию что * выдаст столбцы в нужном порядке... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |