|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.02.2011, 17:50 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Ошибка в запросе
Не получается выполнить запрос:
Код:
до запроса: PAY_INSURER_NAME -------------------- Фамилия Имя Отчество после запроса Fam | Name | Otchest ---- | ----- | --------
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
17.02.2011, 23:21 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
artemavd,
всё что пришло в голову навскидку: (запрос под Firebird) Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
18.02.2011, 02:55 | #3 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Спасибо большое за ответ. А в данном примере oper_name_r это мое PAY_INSURER_NAME? И что значит в данном случае условие в WHERE.? У меня этот запрос кстати не работает в DB2
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
Последний раз редактировалось artemavd; 18.02.2011 в 04:10. |
18.02.2011, 10:26 | #4 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
да
я работал с одной записью т.к. скорее всего он не поддерживает такие функции. нужно поискать аналог
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
20.02.2011, 08:13 | #5 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Вот, немного упростил запрос:
Код:
F___________________ | N___________________ |O___________________ Фамилия Имя Отчество | Фамилия Имя Отчество | Фамилия Имя Отчество т.е. часть задания я вроде сделал . Но, нужно еще как-то сделать разделение значений в поле PAY_INSURER_NAME по раздельным колонкам F,N,O. Есть предположения, что надо как-то использовать Substr и Locate, но не могу додуматься как задать условие "выбрать запись, до пробела". Может ли кто-нибудь помочь мне завершить запрос? Результатом правильного запроса должна быть таблица такого вида: F_______|____N|________O Фамилия | Имя | Отчество
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
20.02.2011, 11:59 | #6 |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
А нужно именно через запрос ?
Или допустимо вычисляемые роля ввести ? Так проще. |
20.02.2011, 14:41 | #7 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Нужно именно через запрос.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
20.02.2011, 16:27 | #8 |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
Попробуйте
SELECT REVERSE(LEFT(REVERSE(PAY_INSURER_NA ME),LOCATE(' ',REVERSE(PAY_INSURER_NAME)) - 1)) AS domain FROM PAY Правда, это только для выбора имени (если сработает)... З.Ы. Так, стоп, это я что-то напутал - это часть доменного имени поля получится... Но все равно помаракуйте, может эти функции помогут ? Последний раз редактировалось asmodey1; 20.02.2011 в 16:38. |
20.02.2011, 16:37 | #9 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Ок. Есть пара вопросов.
1. Что значит REVERSE? 2. Что значит строка AS domain?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
20.02.2011, 16:59 | #10 |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
Не-не, это я ошибся - вам это не подойдет...
Вот что я придумал. Есть такие функции: POSITION(substr string IN str string) SUBSTRING(str string FROM pos integer FOR len integer) С помощью первой можно составить подзапрос, который даст позицию пробела. А с помощью второго - выбрать подстроку, имея начальную позицию и конечную (len=конечная-начальная). Вот как-то так... Если интересно, посмотрите материал по работе со строками в SQL: http://sql.itsoft.ru/string/ |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в запросе | ЛисЁНЫШ | БД в Delphi | 3 | 02.07.2010 07:35 |
Ошибка в запросе с датой | pobedin | БД в Delphi | 8 | 17.06.2010 10:57 |
Ошибка в запросе LIKE | Ele | БД в Delphi | 2 | 22.05.2010 13:07 |
Где ошибка в запросе? | Bendebej | SQL, базы данных | 1 | 03.02.2010 17:09 |
Ошибка SQL запросе. | EVG44 | БД в Delphi | 2 | 21.10.2007 22:42 |