Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом, собрать данные по трем таблицам / 5 сообщений из 5, страница 1 из 1
17.01.2013, 07:36
    #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
17.01.2013, 08:51
    #38113304
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом, собрать данные по трем таблицам
lolo-soft, почитайте про объект метаданных "Критерии отбора".
...
Рейтинг: 0 / 0
17.01.2013, 09:16
    #38113317
olegves
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом, собрать данные по трем таблицам
lolo-soft,

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

самый простой вариант - пакет. Сначала по док-ам с непустыми реквизитами, затем все остальные.
...
Рейтинг: 0 / 0
23.01.2013, 04:56
    #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]