powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выборка из разных таблиц
7 сообщений из 7, страница 1 из 1
Выборка из разных таблиц
    #38455153
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

есть таблица А, с полями A.ptime, A.p1, A.p2
и таблица В - B.ptime, B.p3, B.p4.

хочу получить выборку вида: A.ptime, A.p1, A.p2, B.p3, B.p4
т.е. добавить столбцы из таблицы В к таблице А в соответствии с условием.

решение вроде есть (не проверял)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT
       A.ptime, 
       A.p1, 
       A.p2,
       B.p3,
       B.p4
FROM
       A,
       B
WHERE
       A.ptime >= "2013-10-21" 
AND
       A.ptime < "2013-10-22" 
AND
       B.ptime >= "2013-10-21" 
AND  
       B.ptime < "2013-10-22" 



смщуает, что нужно для каждой таблицы прописывать условие.
и если таблиц много, да еще и несколько условий - то запрос получается огромный

нашел на mysql такое решение 14948231 , но не знаю как реализовать на sybase.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select t1.id,t1.url,t1.title,t1.adress
 ,t1.остальные_поля
 ,t2.остальные_поля
 ,t3.остальные_поля
 ,t4.остальные_поля
from t1
join t2 using (id,url,title,adress)
join t3 using (id,url,title,adress)
join t4 using (id,url,title,adress)



как правильно решается такая выборка?
или проще делать обработку на клиенте?
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455196
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
228293хочу получить выборку вида: A.ptime, A.p1, A.p2, B.p3, B.p4
т.е. добавить столбцы из таблицы В к таблице А в соответствии с условием.Вот здесь остановись.
Какое у тебя условие? Опиши его словами. Настолько подробно насколько сможешь.
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455210
Фотография Larsson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

да особо нечего расписывать
раньше была одна структура базы - и все указанные поля были в одной таблице
а сейчас видоизменилась - и часть параметров разнесли в другие таблицы

есть готовая программа которая обрабатывает полученные данные

ну и условие таково:
хотелось также одним запросом извлечь тот же набор полей

как вариант можно извлечь данные по отдельности, каждый раз делая обработку данных
ну и возможно придется поправить в коде
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455248
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larssonну и условие таково:
хотелось также одним запросом извлечь тот же набор полейЭто не условие, а аморфное желание. Отсюда и все проблемы.

Давай еще раз попробуем: "хочу получить выборку вида: A.ptime, A.p1, A.p2, B.p3, B.p4 т.е. добавить столбцы из таблицы В к таблице А в соответствии с условием." С каким условием?
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455319
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlLarssonну и условие таково:
хотелось также одним запросом извлечь тот же набор полейЭто не условие, а аморфное желание. Отсюда и все проблемы.

Давай еще раз попробуем: "хочу получить выборку вида: A.ptime, A.p1, A.p2, B.p3, B.p4 т.е. добавить столбцы из таблицы В к таблице А в соответствии с условием." С каким условием?
условие:
A.ptime = B.ptime
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455352
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
228293White OwlДавай еще раз попробуем: "хочу получить выборку вида: A.ptime, A.p1, A.p2, B.p3, B.p4 т.е. добавить столбцы из таблицы В к таблице А в соответствии с условием." С каким условием?
условие:
A.ptime = B.ptimeВоооот! Значит и пишем:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
       A.ptime, 
       A.p1, 
       A.p2,
       B.p3,
       B.p4
FROM A
JOIN B ON A.ptime = B.ptime

И все.

Если теперь еще захочешь сделать ограничение по дате:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
       A.ptime, 
       A.p1, 
       A.p2,
       B.p3,
       B.p4
FROM A
JOIN B ON A.ptime = B.ptime
WHERE A.ptime >= "2013-10-21"  and A.ptime < "2013-10-22" 

И все.
Таблица B полностью зависит от A. На нее фильтры уже накладывать не нужно.
...
Рейтинг: 0 / 0
Выборка из разных таблиц
    #38455715
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странная для этого форума тема...
Тут же не mySQL.

Автор, "введение в SQL" М.Грабер. Читай.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выборка из разных таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]