#sql-server-2012
Вопрос:
Допустим, у меня есть таблица с кучей адресов:
Адрес |
---|
ул. Смита, 10 |
20 Джонс-стрит |
У меня есть функция, которая примет указанный строковый адрес и вернет таблицу с отдельными столбцами для каждого компонента адреса, например:
Номер | Улица |
---|---|
10 | Смит-Стрит |
и я хочу затем запустить функцию по всем адресам и вернуть одну таблицу с включенными проанализированными столбцами:
Адрес | Номер | Улица |
---|---|---|
ул. Смита, 10 | 10 | Смит-Стрит |
20 Джонс-стрит | 20 | Джонс-Стрит |
Это упрощенный пример, потому что функция синтаксического анализа может выполнять некоторые более сложные задачи, поэтому это должна быть функция.
Есть какие-нибудь идеи??
Комментарии:
1. В чем, собственно, вопрос ? Вы упомянули, что у вас уже есть функция, которая анализирует
Address
вNumber
иStreet
. Есть проблемы с использованием этого, чтобы получить то, что вы хотите ?
Ответ №1:
Вздох, надо было присмотреться повнимательнее, мне нужно было ПЕРЕКРЕСТНО ПОДАТЬ ЗАЯВКУ:
Так что в моем примере это было бы:
выберите s.Адрес, стр.* из источника s перекрестное применение [dbo].разбор_адрес p
Комментарии:
1. Это не сработает, если ваша функция не является функцией с табличным значением, и вы не передадите параметры