- SQL 2012
- Невозможно изменить столов
- есть две таблицы в вопросе, обе таблицы идентичны
- (я не дизайн это)
Таблица A содержит данные приложения. Мы принимаем заявки, и на момент подачи заявки нам требуется минимум информации - многие значения здесь могут быть нулевыми (или некоторые заполнитель, например NA и т. Д.). Ему присваивается номер приложения (идентификатор приложения). Если приложение принято, нам требуется дополнительная информация - и мы проверяем его.Объединить две таблицы и возвращает данные либо из одной или другой на основе данных
Превращение нас в таблицу B - копию A за исключением того, что она заполнена только принятыми приложениями - и проверенными данными. Таким образом, идентификатор приложения будет существовать только в таблице B, если менеджер примет его. Иногда в процессе приложения данные верны и никаких изменений не было сделано, что приводит к тому, что идентификатор приложения имеет точные значения в обеих таблицах. Иногда данные изменяются или добавляются (мы требуем все поля при принятии).
Я хотел бы, чтобы простой способ захватить все приложения и самые текущие/проверенные данные.
Например:
Table A (Active Applications)
ApplicationID Phone State
1234 123-456-7890 AK
5678 246-802-4680 NULL
Table B (Approved/Accepted Applications)
ApplicationID Phone State
5678 246-802-4680 NY
Применение 5678 был утвержден и, только для демонстрации, состояние было подтверждено, что штат Нью-Йорк. Приложение 1234 не было одобрено на сегодняшний день (но, возможно, в будущем).
Я хотел бы написать запрос, который дает следующий результат:
ApplicationID Phone State
1234 123-456-7890 AK
5678 246-802-4680 NY
Желаемое поведение по существу ... вернуться таблицей А если ApplicationID не существует в таблице, то дайте мне таблицу B вместо этого.
В таблице А содержится все приложения, срок действия которых истек или нет, но есть срок годности (приложения полезны в течение 10 дней), и их будет легко отбросить на основании этой даты. Просто сбитый с толку, требуя одобренных и активных приложений.
Любая помощь очень ценится.
--EDIT-- Спасибо ... но как обращаться с заполнителями (например, NA или XX) или когда проверенные данные отличаются от данных приложения? Скажем, есть третий активное применение в качестве так:
Table A (Active Applications)
ApplicationID Phone State
9876 234-432-1234 NY
Table B (Approved Applications)
ApplicationID Phone State
9876 234-432-1234 TX
Заявление было принято в силу своего существования в таблице В, но состояние было подтверждено, что Техас, а не Нью-Йорк.
Я хотел бы видеть выход как таковой ... Таблица A данных, если нет в таблице B. IF В таблице B, а затем в таблице B данных.
ApplicationID Phone State
1234 123-456-7890 AK
5678 246-802-4680 NY
9876 234-432-1234 TX