powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условия на перекрестный запрос
6 сообщений из 6, страница 1 из 1
Условия на перекрестный запрос
    #32435124
DKV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DKV
Гость
Есть перкрестный запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
TRANSFORM First(STRATEGY_OPER_OBJECT_PROPERTY.VALUE) AS [First-VALUE]
SELECT STRATEGY_OPER_OBJECT_PROPERTY.ID_OBJECT
FROM STRATEGY_OPER_OBJECT_PROPERTY INNER JOIN STRATEGY_OPER_OBJECT_TREEVIEW
ON STRATEGY_OPER_OBJECT_PROPERTY.ID_OBJECT = STRATEGY_OPER_OBJECT_TREEVIEW.ID_OBJECT
WHERE (((STRATEGY_OPER_OBJECT_TREEVIEW.PARENT)= "kn38752" ))
GROUP BY STRATEGY_OPER_OBJECT_PROPERTY.ID_OBJECT
PIVOT STRATEGY_OPER_OBJECT_PROPERTY.ID_PROPERTY in ( "pr7701" , "pr7702" , "pr7703" )


Создается он динамически и выводится в отчет(число столбцов заранее известно)
НУЖНО. Поставить условие на некоторые столбцы перекрестного запроса
Что-то вроде [pr7701] Like "*склад*".
Как енто дело можно реализовать?
При попытке впихать перекрестный запрос в качестве подзапроса - ругается.
...
Рейтинг: 0 / 0
Условия на перекрестный запрос
    #32435206
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Можно записать это условие в терминах исходной таблицы и добавить в тот же динамический селект.
...
Рейтинг: 0 / 0
Условия на перекрестный запрос
    #32435637
DKV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DKV
Гость
Не получается отобрать в исходной таблице.
Немного поподробней:
есть таблица объектов, есть таблица (справочник) свойств и есть связка объект-свойство.
И нужно, к примеру, вывести те объекты у которых свойство [Тип работ] = "ремонт", а [Место работ] LIKE "*склад*".
...
Рейтинг: 0 / 0
Условия на перекрестный запрос
    #32435678
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не сильно силен в пивотах, но попробуй использовать в качестве источника подчиненный запрос

TRANSFORM First(ST.VALUE) AS [First-VALUE]
SELECT ST.ID_OBJECT
FROM (
select *
from STRATEGY_OPER_OBJECT_PROPERTY
where [Тип работ] = 'ремонт', а [Место работ] LIKE '*склад*'
) as st
INNER JOIN STRATEGY_OPER_OBJECT_TREEVIEW
ON ST.ID_OBJECT = STRATEGY_OPER_OBJECT_TREEVIEW.ID_OBJECT
WHERE (((STRATEGY_OPER_OBJECT_TREEVIEW.PARENT)="kn38752"))
GROUP BY ST.ID_OBJECT
PIVOT ST.ID_PROPERTY in ("pr7701","pr7702","pr7703")
...
Рейтинг: 0 / 0
Условия на перекрестный запрос
    #32435680
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибочка вышла ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
TRANSFORM First(ST.VALUE) AS [First-VALUE] 
SELECT ST.ID_OBJECT 
FROM ( 
select * 
from STRATEGY_OPER_OBJECT_PROPERTY 
where [Тип работ] = 'ремонт' and [Место работ] LIKE '*склад*' 
) as st 
INNER JOIN STRATEGY_OPER_OBJECT_TREEVIEW 
ON ST.ID_OBJECT = STRATEGY_OPER_OBJECT_TREEVIEW.ID_OBJECT 
WHERE (((STRATEGY_OPER_OBJECT_TREEVIEW.PARENT)= "kn38752" )) 
GROUP BY ST.ID_OBJECT 
PIVOT ST.ID_PROPERTY in ( "pr7701" , "pr7702" , "pr7703" )
...
Рейтинг: 0 / 0
Условия на перекрестный запрос
    #32436169
DKV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DKV
Гость
Таблица объектов
ID |Name |Parent
------------------
kn1 |Архив |
kn2 |Док1 |kn1
kn3 |Док2 |kn1
......

Таблица свойств
ID |Name
------------------
pr1 | Место работ
pr2 |Тип работ
pr3 |Время работ
......

Таблица объект-свойство
ID_object |ID_property|Value
------------------------------
kn1 |pr1 |склад
kn1 |pr2 |ремонт
kn1 |pr3 |12/02/04
kn2 |pr1 |1 корпус
kn2 |pr2 |ремонт
kn2 |pr3 |22/02/04
-----------------------------------------------------------
собственно из такой структуры и надо выбирать, а если сделать одно условие
ID_property=pr1 AND Value LIKE "*склад*", то еще можно извернуться, а два, а три?

И еще как можно запихать динамически созданный запрос (не сохраненный) в источник данных отчета? Без перечня столбцов ругается, а перечислять не всегда удобно. Ну если нет - то нет.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условия на перекрестный запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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