Текущее время: Ср, июл 30 2025, 22:58

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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