Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2011, 14:15   #1
voyeur
Новичок
Джуниор
 
Регистрация: 17.07.2011
Сообщений: 3
По умолчанию Объединить данные селектов + сортировка

Добрый день, кто знает, как можно из разных таблиц произвести выборку данных, сформировав 2 запроса, полученный результат объединить и отсортировать по полям (данные поля имеют одинаковое название, но таблицы разные).

Пример:

PHP код:
(select
t_1
.g_idt_1.g_namet_1.storyt_1.catid -> t_1.c_id,
t_1.frm_idt_1.mrk_idt_1.ctr_idt_1.ps,
t_1.thcht_1.dateaddt_1.aut,
t_1.pbct_1.cseet_1.ccomt_1.str,
t_1.raigt_2.smet_4.came

from
t_1
t_2t_4

where
t_1
.pbc=and t_1.aut=t_2.usid and
t_1.dateadd<='2011-07-17 13:17:03' and
t_4.catid=t_1.catid -> t_1.c_id and ( t_1.g_name like
'%все%' or t_1.story like '%все%' or t_1.thch like
'%все%'))

union

(select
t_3
.nidt_3.nmet_3.ntextt_3.dateadd,
t_3.nautt_3.pbct_3.cseet_3.ccom,
t_3.strt_3.raigt_2.sme

from
t_3
t_2

where
t_3
.pbc=and t_3.naut=t_2.usid and
t_3.dateadd<='2011-07-17 13:17:03' and ( t_3.new_name like
'%все%' or t_3.ntext like '%все%'))

order by dateadd asc 
пишет что разное кол-во колонок в результатах, и запрос не отрабатывает, как можно решить проблему?
Заранее спасибо.

Последний раз редактировалось voyeur; 17.07.2011 в 14:23.
voyeur вне форума Ответить с цитированием
Старый 17.07.2011, 17:12   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Понятно, что не будет работать, если разное кол-во колонок. А что бы вы хотели при этом видеть? Каким должен быть результат при этом?
motorway вне форума Ответить с цитированием
Старый 17.07.2011, 17:19   #3
voyeur
Новичок
Джуниор
 
Регистрация: 17.07.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Понятно, что не будет работать, если разное кол-во колонок. А что бы вы хотели при этом видеть? Каким должен быть результат при этом?
ну я и говорю что это "бредовый вариант"....

как бы вы решили такую задачу? хотелось бы услышать идеи, варианты решения такого рода задачи.....

ведь она в какой-то степени все равно актуальна...

в результате я бы хотел получить общий "массив" но уже отсортированный.
voyeur вне форума Ответить с цитированием
Старый 18.07.2011, 09:45   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
пишет что разное кол-во колонок в результатах, и запрос не отрабатывает, как можно решить проблему?
1. обрезать лишние поля
2. Выровнять число колонок с помощью формальных полей
Код:
select поле1, NULL as поле2
3. согласовать порядок полей по типам. NULL согласуется с любым типом.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.07.2011 в 09:47.
evg_m на форуме Ответить с цитированием
Старый 18.07.2011, 10:27   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

еще неплохо для себя решить - точно ли нужен union или все-таки стоит заюзать union all?
покопать литературу или на примерах наглядно изучить разницу между ними
soleil@mmc вне форума Ответить с цитированием
Старый 18.07.2011, 20:07   #6
voyeur
Новичок
Джуниор
 
Регистрация: 17.07.2011
Сообщений: 3
По умолчанию

ок, всем спасибо, буду пробовать!
voyeur вне форума Ответить с цитированием
Старый 19.07.2011, 14:32   #7
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

а для того, чтобы отсортировать просто оберните ещё одним селектом всю Вашу выборку и в ней сделайте сортировку по нужным полям.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объединить данные? tadalex БД в Delphi 6 14.02.2011 06:57
Объединить программы lordseko Помощь студентам 8 22.12.2010 09:51
Данные по столбцам - упорядочить данные к друг другу PetroD Microsoft Office Excel 10 07.08.2010 12:30
Объединить 2 макроса в 1 1134 Microsoft Office Excel 5 07.07.2010 16:09
Объединить списки levandowskiy Общие вопросы C/C++ 1 22.08.2009 12:09