powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / представление обьединить с другими таблицами
47 сообщений из 47, показаны все 2 страниц
представление обьединить с другими таблицами
    #38521316
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, Уважаемые программисты! Есть таблицы, где хранятся данные, мне нужно объединить их с представлением(view), соединение получаются с таблицами, а соединить представление с другими таблицами не получается. Как сделать, чтобы работала вместе. Благодарю.

здесь представление табл. - (all)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select
doc.stat,
doc.name,
doc.caption,
doc.date,
num.sum,
sum(all.beg),
sum(all.end)
from doc
inner join num on doc.id=num.id
left join all on num.id=all.id
where
doc.caption='работает'
and doc.date=(select max(DD.date)from doc DD where DD.name='все'
and DD.caption='работает'
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521318
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davisum(all.beg),
sum(all.end)
Про group by слышал?

П.С. В следующий раз пиши и текст ошибки и запрос заключай в тэг SRC.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521334
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviздесь представление табл. - (all)

Крайне не удачное название для таблицы, учитывая что есть оператор union all
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521339
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

прошу прощения.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521357
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmandavisum(all.beg),
sum(all.end)
Про group by слышал?

П.С. В следующий раз пиши и текст ошибки и запрос заключай в тэг SRC.
выбирал тэг src-t)SQL, но увы не выбирается, я с мобильного пишу.

про group by слышал, попробовал, не помогает. У меня либо показывает представления или только настоящие таблицы, посоветуйте, пожалуйста, буду признателен.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521388
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал сделать так:
inner join
left join или rigth, показывает только левую часть или правую, объединить не получается.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521389
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал сделать так:
inner join
left join или rigth, показывает только левую часть или правую, объединить не получается.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521394
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviпро group by слышал, попробовал, не помогает.
Придется потрудиться написать что пробовал и результат. Не торопись, доберись до компьютера сначала.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521436
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmandaviпро group by слышал, попробовал, не помогает.
Придется потрудиться написать что пробовал и результат. Не торопись, доберись до компьютера сначала.
я только, что оттуда, безрезультатно. Почему представления не соединяются. Вы наверное точно знаете :)
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521446
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi,

для начала приведите что вы там делали. Даже запрос в стартовом посте приведён не полностью. Покажите схематично какие данные и что хотите получить.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521480
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
уважаемый, нужно получить столбцы:
статус, наименование, заголовок, дата, сумма1(сумма), сумма2(начальная сумма), сумма3(конечная сумма). Я хочу объединить таблицы со столбцами all.beg, all.end, чтобы все показывал, а так только показывает либо левую часть либо правую, т.е. Показывает все кроме сум2и Сум3, или показывает только сум2, сум3.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521487
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi, придется показать запрос, результат и желаемое. Понимаю, страшно, но...
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521499
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

я все вам покажу, домой приеду только. Весь код выложу. Спасибо за понимание.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521504
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi,

что-то типа вот такого?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
WITH ALL_SUM AS (
  SELECT ALL.ID AS ID,
         SUM(ALL.BEG) AS SUM_BEG,
         SUM(ALL.END) AS SUM_END
  FROM ALL
  GROUP BY 1
)
SELECT
    DOC.STAT,
    DOC.NAME,
    DOC.CAPTION,
    DOC.DATE,
    NUM.SUM,
    ALL_SUM.SUM_BEG,
    ALL_SUM.SUM_END
FROM DOC
INNER JOIN NUM ON DOC.ID = NUM.ID
LEFT JOIN ALL_SUM ON NUM.ID = ALL_SUM.ID
WHERE DOC.CAPTION = 'работает' AND
      DOC.DATE = (SELECT
                      MAX(DD.DATE)
                  FROM DOC DD
                  WHERE DD.NAME = 'все' AND
                        DD.CAPTION = 'работает')
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521511
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
нет, я так не писал.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521515
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисdavi,

что-то типа вот такого?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
WITH ALL_SUM AS (
  SELECT ALL.ID AS ID,
         SUM(ALL.BEG) AS SUM_BEG,
         SUM(ALL.END) AS SUM_END
  FROM ALL
  GROUP BY 1
)
SELECT
    DOC.STAT,
    DOC.NAME,
    DOC.CAPTION,
    DOC.DATE,
    NUM.SUM,
    ALL_SUM.SUM_BEG,
    ALL_SUM.SUM_END
FROM DOC
INNER JOIN NUM ON DOC.ID = NUM.ID
LEFT JOIN ALL_SUM ON NUM.ID = ALL_SUM.ID
WHERE DOC.CAPTION = 'работает' AND
      DOC.DATE = (SELECT
                      MAX(DD.DATE)
                  FROM DOC DD
                  WHERE DD.NAME = 'все' AND
                        DD.CAPTION = 'работает')



очень красиво написали :)
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521541
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviСимонов Денис,
нет, я так не писал.

конечно не так. Я включил свой ХШ. Угадал или нет нужный результат не знаю.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38521563
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисdaviСимонов Денис,
нет, я так не писал.

конечно не так. Я включил свой ХШ. Угадал или нет нужный результат не знаю.
я дома буду только через два часа, сейчас возможности нет проверить код. Но все равно спасибо.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522050
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый, wadman!
Код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select
document.doc_status,
document.objectname,
document.doc_caption,
document.doc_date,
num_mv.outsum,
sum(mv_all.sum_beg) as sum1,
sum(mv_all.sum_end) as sum2
from num_mv 
inner join document on num_mv.id=document.id
left join mv_all on document.id=mv_all.id
where
document.doc_caption='Выполнен'
and document.objectname,='num_mv'
and document.doc_date=(select max(dd.doc_date) from document dd where dd.objectname='num_mv'
and dd.doc_caption='Выполнен')
group by outsum, 
doc_status,
objectname,
doc_caption,
doc_date
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522061
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviУважаемый, wadman!
Код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select
document.doc_status,
document.objectname,
document.doc_caption,
document.doc_date,
num_mv.outsum,
sum(mv_all.sum_beg) as sum1,
sum(mv_all.sum_end) as sum2
from num_mv 
inner join document on num_mv.id=document.id
left join mv_all on document.id=mv_all.id
where
document.doc_caption='Выполнен'
and document.objectname,='num_mv'
and document.doc_date=(select max(dd.doc_date) from document dd where dd.objectname='num_mv'
and dd.doc_caption='Выполнен')
group by outsum, 
doc_status,
objectname,
doc_caption,
doc_date


И это компилируется/выполняется?
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522078
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, получается без представления (mv_all), т.е. убираю left join, и столбцы sum(mv_all.sum_beg) as sum1, sum(mv_all.sum_end) as sum2.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522086
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviполучается без представления (mv_all)
Ой-ли?
davi
Код: sql
1.
and document.objectname,='num_mv'


На этом месте должно послать куда-то...

Уж проверял-бы, вроде до компа обещал добраться. Заодно определись, что такое "получается" и чем оно отличается от "не получается".
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522087
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, но мне эти столбцы очень нужны. left, rigth пробовал, показывает, только либо левую, либо правую часть.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522088
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, davi!
You wrote on 10 января 2014 г. 15:14:05:

davi> wadman, получается без представления (mv_all), т.е. убираю left join, и
> столбцы sum(mv_all.sum_beg) as sum1, sum(mv_all.sum_end) as sum2.
никому не сообщай текст сообщения об ошибке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522091
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, без представления компилируется.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522098
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviwadman, без представления компилируется.
А давай без обмана? :)
davi
Код: sql
1.
and document.objectname,='num_mv'
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522099
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий, Hi! thank you!
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522103
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, это столбец, где названия написаны, т.е. при выборке просто показывает какое имя объекта стоит, это все работает.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522105
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi,

мой запрос пробовал? А заодно озвучь ка версию сервера.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522113
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, еще не пробовал, firebird2.5.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522116
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, сейчас буду разбирать :)
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522123
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, опячатка, там запятой нет :)
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522139
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviwadman, опячатка, там запятой нет :)
Вот потому и говорю, что воспроизведи на компе и напиши, что делал (в т.ч. и DDL используемых объектов), что хотел, а что получилось. Только с компа, а не телефона.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522165
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, Я вам завтра напишу, DDL-ку могу на почту скинуть.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522175
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviDDL-ку могу на почту скинуть.
Такие маневры ни к чему, вряд-ли там есть нечто секретное и я могу банально не зайти на форум. Тогда и другие смогут помочь.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522179
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, спасибо за помощь!
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522180
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davileft, rigth пробовал, показывает, только либо левую, либо правую часть.

Значит у тебя кривое условие соединения, под которое никакие данный не попадают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522182
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovdavileft, rigth пробовал, показывает, только либо левую, либо правую часть.

Значит у тебя кривое условие соединения, под которое никакие данный не попадают.

Полностью с вами согласен!
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522191
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daviПолностью с вами согласен!

ну а что сложно выполнить отдельно каждую часть запроса и посмотреть почему соединение не проходит?
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522195
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, отдельно делал, перечислил где ошибки.
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522214
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi,

нефига ты не перечислил. Сравни что находится в столбцах document.id и mv_all.id

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select
document.id,
document.doc_status,
document.objectname,
document.doc_caption,
document.doc_date,
num_mv.outsum
from num_mv 
inner join document on num_mv.id=document.id
where
document.doc_caption='Выполнен'
and document.objectname='num_mv'
and document.doc_date=(select max(dd.doc_date) from document dd where dd.objectname='num_mv'
and dd.doc_caption='Выполнен')
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38522254
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, davi!
You wrote on 10 января 2014 г. 16:59:46:

davi перечислил где ошибки.
этот цирк уже начинает утомлять.
где текст сообщения об ошибке, *****!
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38523910
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисdavi,

что-то типа вот такого?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
WITH ALL_SUM AS (
  SELECT ALL.ID AS ID,
         SUM(ALL.BEG) AS SUM_BEG,
         SUM(ALL.END) AS SUM_END
  FROM ALL
  GROUP BY 1
)
SELECT
    DOC.STAT,
    DOC.NAME,
    DOC.CAPTION,
    DOC.DATE,
    NUM.SUM,
    ALL_SUM.SUM_BEG,
    ALL_SUM.SUM_END
FROM DOC
INNER JOIN NUM ON DOC.ID = NUM.ID
LEFT JOIN ALL_SUM ON NUM.ID = ALL_SUM.ID
WHERE DOC.CAPTION = 'работает' AND
      DOC.DATE = (SELECT
                      MAX(DD.DATE)
                  FROM DOC DD
                  WHERE DD.NAME = 'все' AND
                        DD.CAPTION = 'работает')


не работает, работает без таблицы all_sum
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38523911
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
davi,

напиши уже наконец исходные данные и что должно получиться. А то так гадать можно до бесконечности
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38523913
davi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
ошибка, в объединении таблицы all_sum
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38523917
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, davi!
You wrote on 10 января 2014 г. 16:59:46:

davi перечислил где ошибки.
этот цирк уже начинает утомлять.
где текст сообщения об ошибке, *****!

не сдержался
...
Рейтинг: 0 / 0
представление обьединить с другими таблицами
    #38524109
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, davi!
You wrote on 10 января 2014 г. 16:59:46:

davi перечислил где ошибки.
этот цирк уже начинает утомлять.
где текст сообщения об ошибке, *****!Слишком мало символов Серега удалил, если цирк с гаданиями на кофейной гуще продолжится, топик целиком отправится в утиль, а автору бан за троллинг.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / представление обьединить с другими таблицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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