powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выборка из дочерних таблиц по ID
13 сообщений из 13, страница 1 из 1
Выборка из дочерних таблиц по ID
    #38653788
MocArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуйста подскажите как сделать выборку

Есть три таблицы:
Тарифы
rate
id_rate (АИ)(ПК)
date (дата принятия тарифа,название тарифа)
document (документ)
со значениями:
id_ratedatedocument0101.01.2011doc10202.02.2012doc20303.03.2013doc30404.04.2014doc4


Услуги
services
id_service (АИ)(ПК)
service (наименование услуги)
со значениями:
id_service service1Горячая вода2Холодная вода6Отопление7Видеонаблюдение

Список услуг согласно тарифу
RANGE_OF_SERVICES
id_rate (ВК) (ID тарифа из таблицы rate)
id_service (ВК) (ID услуги из таблицы services)
price (цена)

со значениями:
id_rateid_service price117.001213.002212.001630.00

АИ-автоинкремент
ПК-первичный ключ
ВК-внешний ключ

Как вывести в выборке SELECT значения из дочерних таблиц подчиненных таблице RANGE_OF_SERVICES вместо идентификаторов, то есть:

когда я делаю выборку SELECT ID_SERVICES from RANGE_OF_SERVICES where id_rate=1 выводится 3 записи(услуги) соответствующие тарифу 1 - это 1,2,6.
как сделать так, чтобы вместо идентификаторов, выводились наименования услуг из дочерней таблицы SERVICES ?:
1-Горячая вода
2-Холодная вода
6-видеонаблюдение

никак не получается правильно написать запрос
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38653801
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM: http://ibase.ru/devinfo/joins.htm
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38654194
MocArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
итак, после долгих мучений, "Из реторты Фауста создан гомункул! ЗАПРОС":

select distinct
t2.service,
t1.id_rate,
t1.price
from range_of_services t1
inner join services t2 on (t1.id_services = t2.id_services)
where t1.id_rate = 2

который выводит следующую таблицу:
SERVICE ID_RATE PRICE горячая вода17.00холодная вода113.00отопление130.00
может кому-то понадобится. Всем спасибо за помощь.
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38654263
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде не пятница.
Напишу и я тут что-нибудь полезное, вдруг кому пригодится.
Пи = 3,14159265358979323846264338327...
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663365
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните мне хоть кто-нибудь, в чем потаенный цимес таких джойнов и чем круче
Код: sql
1.
2.
3.
from range_of_services t1
 inner join services t2 on (t1.id_services = t2.id_services)
where t1.id_rate = 2


по сравнению с
Код: sql
1.
2.
from range_of_services t1, services t2 
where (t1.id_services = t2.id_services) and (t1.id_rate = 2)


за исключением того, что первый вариант намного менее наглядный?
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663456
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutalпервый вариант намного менее наглядныйЗабавно, но я считаю ровно наоборот.
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663458
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutalцимес таких джойнов и чем круче
1. Явные JOIN нагляднее
2. Когда потребуется к этому JOIN ещё дописать LEFT JOIN сразу поймёшь, т.к. смешивать разные формы JOIN нельзя, а (+) у нас нема
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663485
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyЗабавно, но я считаю ровно наоборот.Не вижу ничего забавного.
Так же как и ты считают, пожалуй, большинство старожилов этого форума.
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663529
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryТак же как и ты считают, пожалуй, большинство старожилов этого форума.потому и забавно, ибо я впервые вижу, что неявные джойны удобней.
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663573
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky> я впервые вижу, что неявные джойны удобней.

Ну это от виделки зависит. Лично я в данном случае вижу наоборот.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663577
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Наоборот наоборот, или же просто наоборот?
Уточняй, по отношению к чему наоборот
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663628
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryНаоборот наоборот, или же просто наоборот?так в рекурсию впасть можно!
...
Рейтинг: 0 / 0
Выборка из дочерних таблиц по ID
    #38663661
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> Уточняй, по отношению к чему наоборот

По отношению к процитированному. :)
То бишь удобней явные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Выборка из дочерних таблиц по ID
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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