Мне нужно сгенерировать два письма человеку (по одному на каждый адрес). Как я могу сделать это? - PullRequest
0 голосов
/ 09 января 2012

Я хотел бы создать две буквы для одного человека. Одно письмо будет отправлено на старый адрес человека, а другое будет отправлено на новый адрес человека. Это будут два разных отчета с небольшим изменением в SQL или есть способ просто создать обе буквы в одном отчете?

Ответы [ 2 ]

2 голосов
/ 09 января 2012

В нормализованной базе данных старый адрес и новый адрес будут отображаться в двух отдельных записях, возможно, в связанной таблице, связанной идентификатором человека или чем-то подобным.Вы должны посмотреть и прочитать о нормализации.Конечно, вы должны стремиться как минимум к третьей нормальной форме.

Для вашей текущей проблемы вы можете создать объединенное представление

select NewAddress As Address from TableName
union
select OldAddress as Address from TableName

Затем сообщить о значениях в представлении.Возможно, вы захотите иметь еще несколько полей, таких как имя человека.Поля, которые вы выбираете в первом операторе выбора, должны иметь тот же номер и тип, что и поля во втором операторе выбора.Кроме того, вы все еще можете добавить предложение where и упорядочить по предложению.

Проверьте оператора объединения онлайн.

Надеюсь, это поможет

Harv

0 голосов
/ 09 января 2012

Существует несколько подходов, которые вы можете использовать:

  • объединение старых и новых адресов в запросе, а затем создание отчета по запросу с одним подробным разделом для каждой строки набора данных.
  • альтернативно, составьте отчет из Таблицы и включите две строки подробностей, по одной для старого и нового адреса, и условно подавьте каждый раздел в зависимости от того, является ли соответствующий адрес NULL.
...