Текущее время: Вс, июл 20 2025, 21:49

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Сравнение с записью в таблице, представленной маской.
СообщениеДобавлено: Вт, фев 27 2007, 09:45 
Начинающий
Начинающий

Зарегистрирован:
Пн, фев 26 2007, 20:08
Сообщения: 6
Допустим в в таблице словаря есть запись, в определённом её поле лежит, к примеру, Q*. Если выбирать select по этому полю сравнивая со значением, к примеру, Q123. То по логике существующая запись должна быть выбранна. Этого не происходит.

В чём может быть проблема?
Может быть я не правильно понимаю?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сравнение с записью в таблице, представленной маской.
СообщениеДобавлено: Вт, фев 27 2007, 09:53 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Ama_Andrew написал(а):
Допустим в в таблице словаря есть запись, в определённом её поле лежит, к примеру, Q*. Если выбирать select по этому полю сравнивая со значением, к примеру, Q123. То по логике существующая запись должна быть выбранна. Этого не происходит.

В чём может быть проблема?
Может быть я не правильно понимаю?

Спасибо.


Ага, неправильно.
В таблице лежит строка Q*, и система понятия не имеет что это не строка, а маска.
Как вы выбираете?

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 09:58 
Начинающий
Начинающий

Зарегистрирован:
Пн, фев 26 2007, 20:08
Сообщения: 6
Тупо:
SELECT * FROM table INTO TABLE int_table
WHERE fieldX = Znachenie
ENDSELECT.
Теперь понятно, что это не работает.

Может быть нужно смотреть каждую запись и сравнивать её, как маску, с имеющейся? Только как?..

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 10:07 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Во первых, почитайте в хелпе или в любом учебнике языка SQL про ключевое слово LIKE. Во вторых - LIKE вам тут не поможет :)

В данном случае как вариант (если в table не слишком много записей): считайте все записи во внутреннюю таблице int_table, и в цикле сравнивайте с помощью оператора CP поле fieldX и Znachenie.

ЗЫ. в приведенном селекте endselect лишний. Почему - в хелп

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 10:25 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Вместо

Znachenie = 'Q*' и
fieldX = Znachenie

используйте

Znachenie = 'Q%' и
fieldX LIKE Znachenie


PS советчиков выше - можете читать по желанию )


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 10:35 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
lumer написал:
Znachenie = 'Q%' и
fieldX LIKE Znachenie

Человек же написал - маска в таблице, а Znachenie - конкретное значение. Ваш вариант - для частного случая.
Если в таблице 2 записи, Q1* и Q2*, то как быть?

lumer написал:
PS советчиков выше - можете читать по желанию )

адназначна :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 10:37 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
lumer написал:
...

Znachenie = 'Q%' и
fieldX LIKE Znachenie


...

Только Ama_Andrew похоже хочет что-то вроде
Code:
Znachenie = 'Q123'. 
... from tab as t where Znachenie LIKE T~fieldX ...

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 11:03 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Извините конечно, но по-моему человек смутно представляет, что он хочет. Поэтому любой ответ правильный ;-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 11:09 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Да, полную спецификаци, куски кода и ТЗ - в студию!
Ответ смастерим после получения )


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 27 2007, 12:12 
Начинающий
Начинающий

Зарегистрирован:
Пн, фев 26 2007, 20:08
Сообщения: 6
Спасибо за обсуждение. Записей в таблице не много, поэтому воспользуюсь способом, предложенным ArmAnn :D :

ArmAnn написал:
В данном случае как вариант (если в table не слишком много записей): считайте все записи во внутреннюю таблице int_table, и в цикле сравнивайте с помощью оператора CP поле fieldX и Znachenie.



Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB