powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом, собрать данные по трем таблицам
5 сообщений из 5, страница 1 из 1
Помогите с запросом, собрать данные по трем таблицам
    #38113274
lolo-soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2All, подскажите где туплю. Есть три документа Задания, Проекты и Наряды. Связи этих таблиц такие Задания -> Проекты -> Наряды через реквизиты (Проекты.Задание и Наряды.Проект). Нужно вывести список всех трех документов. Вот мой запрос, но он не выводит проекты, не имеющие ссылки на Задание и Наряды без ссылки на Проект.

Код: 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.
25.
26.
27.
28.
29.
ВЫБРАТЬ
	"№" + Задания.Номер + " " + Задания.Наименование КАК ЗаданиеНаименование,
	Задания.Коментарий КАК ЗаданиеКоментарий,
	Задания.ЗапланированнаяДатаНачала КАК ЗаданиеЗапланированнаяДатаНачала,
	Задания.ЗапланированнаяДатаОкончания КАК ЗаданиеЗапланированнаяДатаОкончания,
	Задания.ОбъектыПоЗаданию КАК ЗаданиеОбъектыПоЗаданию,
	Задания.КонтактыПоЗаданию КАК ЗаданиеКонтактыПоЗаданию,
	Проекты.Утвержден КАК ПроектУтвержден,
	Проекты.ФактическаяДатаОкончания КАК ПроектФактическаяДатаОкончания,
	"№" + Проекты.Номер + " " + Проекты.Наименование КАК ПроектНаименование,
	Проекты.Коментарий КАК ПроектКоментарий,
	"№" + Наряды.Номер + " " + Наряды.Наименование КАК НарядНаименование,
	Наряды.ЗапланированнаяДатаОкончания,
	Наряды.Утвержден КАК НарядУтвержден,
	Наряды.Коментарий КАК НарядКоментарий
ИЗ
	Документ.НарядНаСтроительство КАК Наряды
		ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПроектНаСтроительство КАК Проекты
			ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаданиеНаСтроительство КАК Задания
			ПО (Задания.Ссылка = Проекты.ЗаданиеНаСтроительство
					ИЛИ Проекты.ЗаданиеНаСтроительство.Ссылка ЕСТЬ NULL )
		ПО (Наряды.ПроектНаСтроительство = Проекты.Ссылка
				ИЛИ Наряды.ПроектНаСтроительство.Ссылка ЕСТЬ NULL )
ГДЕ
	Задания.ЭтапЗадания <> ЗНАЧЕНИЕ(Перечисление.ЭтапыЗаданийНаСтроительство.Выполнено)
	И Наряды.ЭтапСтроительства = ЗНАЧЕНИЕ(Перечисление.ЭтапыСтроительства.Этап1)

УПОРЯДОЧИТЬ ПО
	ЗаданиеЗапланированнаяДатаНачала



З.Ы. заранее спасибо
...
Рейтинг: 0 / 0
Помогите с запросом, собрать данные по трем таблицам
    #38113304
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lolo-soft, почитайте про объект метаданных "Критерии отбора".
...
Рейтинг: 0 / 0
Помогите с запросом, собрать данные по трем таблицам
    #38113317
olegves
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lolo-soft,

условие ГДЕ перенеси в блок условий соединений и будет тебе щастье
...
Рейтинг: 0 / 0
Помогите с запросом, собрать данные по трем таблицам
    #38113385
chatm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lolo-soft,

самый простой вариант - пакет. Сначала по док-ам с непустыми реквизитами, затем все остальные.
...
Рейтинг: 0 / 0
Помогите с запросом, собрать данные по трем таблицам
    #38120668
lolo-soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил вопрос, как предложил chatm . Обычным UINION 'ом. Вот результирующий запрос.
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
ВЫБРАТЬ
	"№" + Задания.Номер + " " + Задания.Наименование КАК ЗаданиеНаименование,
	Задания.Коментарий КАК ЗаданиеКоментарий,
	Задания.ЗапланированнаяДатаНачала КАК ЗаданиеЗапланированнаяДатаНачала,
	Задания.ЗапланированнаяДатаОкончания КАК ЗаданиеЗапланированнаяДатаОкончания,
	Задания.ОбъектыПоЗаданию КАК ЗаданиеОбъектыПоЗаданию,
	Задания.КонтактыПоЗаданию КАК ЗаданиеКонтактыПоЗаданию,
	Проекты.Утвержден КАК ПроектУтвержден,
	Проекты.ФактическаяДатаОкончания КАК ПроектФактическаяДатаОкончания,
	"№" + Проекты.Номер + " " + Проекты.Наименование КАК ПроектНаименование,
	Проекты.Коментарий КАК ПроектКоментарий,
	"№" + Наряды.Номер + " " + Наряды.Наименование КАК НарядНаименование,
	Наряды.ЗапланированнаяДатаОкончания,
	Наряды.Утвержден КАК НарядУтвержден,
	Наряды.Коментарий КАК НарядКоментарий
ИЗ
	Документ.ЗаданиеНаСтроительство КАК Задания
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроектНаСтроительство КАК Проекты
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.НарядНаСтроительство КАК Наряды
			ПО (Наряды.ПроектНаСтроительство = Проекты.Ссылка)
				И (Наряды.ЭтапСтроительства = ЗНАЧЕНИЕ(Перечисление.ЭтапыСтроительства.Этап1))
		ПО (Проекты.ЗаданиеНаСтроительство = Задания.Ссылка)
ГДЕ
	Задания.ЭтапЗадания <> ЗНАЧЕНИЕ(Перечисление.ЭтапыЗаданийНаСтроительство.Выполнено)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	Проекты.Утвержден,
	Проекты.ФактическаяДатаОкончания,
	"№" + Проекты.Номер + " " + Проекты.Наименование,
	Проекты.Коментарий,
	"№" + Наряды.Номер + " " + Наряды.Наименование,
	Наряды.ЗапланированнаяДатаОкончания,
	Наряды.Утвержден,
	Наряды.Коментарий
ИЗ
	Документ.ПроектНаСтроительство КАК Проекты
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.НарядНаСтроительство КАК Наряды
		ПО (Наряды.ПроектНаСтроительство = Проекты.Ссылка)
			И (Наряды.ЭтапСтроительства = ЗНАЧЕНИЕ(Перечисление.ЭтапыСтроительства.Этап1))
ГДЕ
	Проекты.ЗаданиеНаСтроительство.Ссылка ЕСТЬ NULL 

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	"№" + Наряды.Номер + " " + Наряды.Наименование,
	Наряды.ЗапланированнаяДатаОкончания,
	Наряды.Утвержден,
	Наряды.Коментарий
ИЗ
	Документ.НарядНаСтроительство КАК Наряды
ГДЕ
	Наряды.ЭтапСтроительства = ЗНАЧЕНИЕ(Перечисление.ЭтапыСтроительства.Этап1)
	И Наряды.ПроектНаСтроительство.Ссылка ЕСТЬ NULL 

УПОРЯДОЧИТЬ ПО
	ЗаданиеЗапланированнаяДатаНачала
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом, собрать данные по трем таблицам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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