2013-03-13 3 views
1

Например, у меня есть запрос Q, который возвращает идентификаторы клиентов с офисами. Однако у меня есть отдельный запрос S, который содержит список идентификаторов клиентов, которые должны быть жестко закодированы, скажем, в Атланте в определенных контекстах.Как заменить значение в запросе, если оно соответствует некоторому условию?

Так как я сказал бы «запустить Query Q, но если идентификатор клиента присутствует в S, то вместо того, чтобы использовать нормальное значение Office, используйте значение офиса от S»

Пример Q: запрос: выберите CustID, офис от SourceTable

пример S: Таблица: перечень CustID-х

Так, например, если я показал Q сам по себе, скажем, у меня было:

JONES1  Las Vegas 
SMITH2  Miami 

Но JONES1 в S, так что я хочу, чтобы это на самом деле отображать

JONES1  Atlanta 
SMITH2  Miami 

(все CustID'S в S должен отображаться в Атланте, когда я тяну до Q)

+0

Используя окно дизайна запроса, добавьте обе таблицы и добавьте соединение, перетащив связанное поле из одной таблицы в другую, щелкните правой кнопкой мыши строку, которую вы только что сделали, и убедитесь, что вы выбираете все записи из Q и только связанные записи из S Выберите нужное поле. Переключитесь на SQL-представление и опубликуйте sql здесь с запиской о том, где она не соответствует вашим требованиям, если таковые имеются. – Fionnuala

+0

Вы можете использовать внешнее соединение в Query S с помощью функции Nz() в основном запросе. Если вы отредактируете свой вопрос, чтобы показать запрос Q и запрос S, я могу лучше объяснить. – grahamj42

+0

Обновлен OP с некоторым примером SQL – DoubleBass

ответ

0

Попробуйте что-то на этих линиях:

SELECT q.CustID, IIf(IsNull(s.Office), q.Office, s.Office) 
FROM SourceTable q 
LEFT JOIN s 
ON q.CustID = s.CustID 
+0

Мой запрос Q на самом деле чрезвычайно сложнее, чем тот, который я показал; есть ли способ сделать это из окна Design View? – DoubleBass

+0

Возможно, у вас не было возможности прочитать мой комментарий к вашему сообщению, в котором описывается, как использовать окно дизайна запроса для этого? – Fionnuala

+0

Я только что видел это снова, поэтому я пошел дальше и принял это как ответ. Благодаря! – DoubleBass

Смежные вопросы