Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / представление обьединить с другими таблицами / 25 сообщений из 47, страница 1 из 2
10.01.2014, 09:17:31
    #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
10.01.2014, 09:19:24
    #38521318
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
davisum(all.beg),
sum(all.end)
Про group by слышал?

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

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

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

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

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

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

я все вам покажу, домой приеду только. Весь код выложу. Спасибо за понимание.
...
Рейтинг: 0 / 0
10.01.2014, 11:09:24
    #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
10.01.2014, 11:11:59
    #38521511
davi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
Симонов Денис,
нет, я так не писал.
...
Рейтинг: 0 / 0
10.01.2014, 11:14:22
    #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
10.01.2014, 11:24:01
    #38521541
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
daviСимонов Денис,
нет, я так не писал.

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

конечно не так. Я включил свой ХШ. Угадал или нет нужный результат не знаю.
я дома буду только через два часа, сейчас возможности нет проверить код. Но все равно спасибо.
...
Рейтинг: 0 / 0
10.01.2014, 15:02:10
    #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
10.01.2014, 15:05:50
    #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
10.01.2014, 15:11:33
    #38522078
davi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
wadman, получается без представления (mv_all), т.е. убираю left join, и столбцы sum(mv_all.sum_beg) as sum1, sum(mv_all.sum_end) as sum2.
...
Рейтинг: 0 / 0
10.01.2014, 15:14:41
    #38522086
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
daviполучается без представления (mv_all)
Ой-ли?
davi
Код: sql
1.
and document.objectname,='num_mv'


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

Уж проверял-бы, вроде до компа обещал добраться. Заодно определись, что такое "получается" и чем оно отличается от "не получается".
...
Рейтинг: 0 / 0
10.01.2014, 15:14:42
    #38522087
davi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
wadman, но мне эти столбцы очень нужны. left, rigth пробовал, показывает, только либо левую, либо правую часть.
...
Рейтинг: 0 / 0
10.01.2014, 15:15:21
    #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
10.01.2014, 15:16:45
    #38522091
davi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
представление обьединить с другими таблицами
wadman, без представления компилируется.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / представление обьединить с другими таблицами / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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