| |
|
|
| | Всем доброго дня, есть такой вопрос, имеются 2 таблицы с одинаковыми полями, реально ли объединить эти две таблицы в один запрос, чтоб вторая таблица была продолжением первой? | |
| |
| |
|
|
| |
|
|
| | Вот пример объединения, правда, я объединял запросы, но для таблиц все так же.
SELECT ГлавныйЖурналРегистрацииЗапрос.ДатаПриездаГЖР, ГлавныйЖурналРегистрацииЗапрос.ДатаОтъездаГЖР, ГлавныйЖурналРегистрацииЗапрос.МестоПитанияКодГЖР
FROM ГлавныйЖурналРегистрацииЗапрос
WHERE ((ГлавныйЖурналРегистрацииЗапрос.ДатаПриездаГЖР)<=[ДатаПредоставленияДанных] And (ГлавныйЖурналРегистрацииЗапрос.ДатаОтъездаГЖР)>[ДатаПредоставленияДанных])
UNION SELECT ПитаниеТалоныЗапрос.ДатаНачалаПТ, ПитаниеТалоныЗапрос.ДатаОкончанияПТ, ПитаниеТалоныЗапрос.МестоПитанияКодПТ
FROM ПитаниеТалоныЗапрос
WHERE ((ПитаниеТалоныЗапрос.ДатаНачалаПТ)<=[ДатаПредоставленияДанных] And (ПитаниеТалоныЗапрос.ДатаОкончанияПТ)>=[ДатаПредоставленияДанных]); | |
| |
| |
| |
|
|
| | Плохой пример.
1. Имена объектов должны быть на аглицком языке.
2. При таких длинных именах нужно пользовать алиасы для удобочитаемости.
3. Неэффективное использование памяти и времени:
Сначала выполнится запрос "ГлавныйЖурналРегистрацииЗапрос" для всех записей и полей, затем
выполнится SELECT к этому запросу с ограничением количества полей и возвращаемых записей.
То-же самое для "ПитаниеТалоныЗапрос".
И только потом выполнится объединение.
4. Between в условиях будет правильнее. | |
| |
| |