powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите собрать запрос
5 сообщений из 5, страница 1 из 1
Помогите собрать запрос
    #32063866
Rini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем имеем 4 таблицы
1. Таблица полисов. POLIS (ID_POLIS,SERIA,NOMER)
2. Taблица объектов в полисе LISTOBJ (ID_OBJLIST,ID_OBJ, ID_POLIS,)
3. Taблица объектов OBJ (ID_OBJ,NAME)
4. Taблица поступлений возносов MONEYIN (ID_MONEYIN, ID_POLIS,SUMMA,DATA)

Надо запросом получить
что то типа токого
SERIA NOMER NAME SUMMA DATA
АГ__|001201|легковоеавто|1000__|01.01.01
Null_|Null___|грузовоеавто|500___|01.04.01
Null_|Null___|Null_________|244___|01.06.01

Думаю понятно. вобщем
У меня пока только вот так получается
SERIA NOMER NAME SUMMA DATA
АГ |001201|легковоеавто|1000 |01.01.01
АГ |001201|легковоеавто|500 |01.04.01
АГ |001201|легковоеавто|244 |01.06.01
АГ |001201|грузовоеавто|1000 |01.01.01
АГ |001201|грузовоеавто|500 |01.04.01
АГ |001201|грузовоеавто|500 |01.06.01

Запос такой
SELECT SERIA, NOMER, NAME, SUMMA,DATA
FROM POLIS, LISTOBJ,OBJ,MONEYIN
WHERE (POLIS.ID_POLIS = LISTOBJ.ID_POLIS) AND
(LISTOBJ.ID_OBJ = OBJ.ID_OBJ ) AND
(MONEYIN.ID_POLIS = POLIS.ID_POLIS)
Где копать?
...
Рейтинг: 0 / 0
Помогите собрать запрос
    #32063901
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, если вообще возможно получить такую штуку без обработки на клиенте, то только из хранимой процедуры.
...
Рейтинг: 0 / 0
Помогите собрать запрос
    #32063948
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Я, например, не знаю, что значит получить что-то типа такого :).
В общем, смотри выражения GROUP BY и разные виды соединений таблиц (JOINы).
...
Рейтинг: 0 / 0
Помогите собрать запрос
    #32063958
Rini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробывал GROUP BY он у меня просто сортирует и усе
Буду очень благодарен
если кто на пальцах расскажет как работают
GROUP BY, JOIN
ну слабо мене пока.
...
Рейтинг: 0 / 0
Помогите собрать запрос
    #32064184
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
POLIS
| ID_POLIS | SERIA | NOMER |

LISTOBJ
| ID_OBJLIST | ID_OBJ | ID_POLIS |

OBJ
| ID_OBJ | NAME |

MONEYIN
| ID_MONEYIN | ID_POLIS | SUMMA | DATA |

Как то так!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT PL.ID_POLIS, PL.SERIA, PL.MOMER, SUM(MI.SUMMA) as ALL_SUMM, MAX(MI.DATA) as LAST_PAY_DATE
FROM POLIS PL, LISTOBJ LO, OBJ, MONEYIN MI
WHERE
LO.ID_POLIS=PL.ID_POLIS
AND
LO.ID_OBJ=OBJ.ID_OBJ
AND
MI.ID_POLIS=PL.ID_POLIS
GROUP BY PL.ID_POLIS, PL.SERIA, PL.MOMER, OBJ.ID_OBJ
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите собрать запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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