19.07.2018, 01:25 [+3 UTC]
в нашей команде: 2 883 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
17.07.2018, 12:50

Последний вопрос:
16.07.2018, 07:17

Последний ответ:
13.07.2018, 17:32

Последняя рассылка:
18.07.2018, 16:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
30.05.2013, 13:30 »
Алексей
Сие есть ответ [вопрос № 187376, ответ № 272326]
18.05.2011, 15:30 »
Гречко Альберт Алексеевич
Это именно то, что нужно! Спасибо! [вопрос № 183214, ответ № 267212]
13.07.2010, 10:07 »
Dimon4ik
То, что надо! Спасибо smile [вопрос № 179472, ответ № 262511]

РАЗДЕЛ • Базы данных

Установка и настройка серверов баз данных, таблицы и запросы.

[администратор рассылки: Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)]

Лучшие эксперты в этом разделе

solowey
Статус: Студент
Рейтинг: 87
Megaloman
Статус: Академик
Рейтинг: 20
Alexander Babich
Статус: Профессор
Рейтинг: 19

Перейти к консультации №:
 

Консультация онлайн # 66544
Раздел: • Базы данных
Автор вопроса: DmitryDE
Отправлена: 11.12.2006, 17:12
Поступило ответов: 3

Добрый вечер, уважаемые эксперты.
Проблема в следующем (MS SQL):
Есть две не связанные таблицы. 1-я: ModelId, Model (varchar(7)), в которую внесены краткие названия моделей приборов "...8150, 8160, 8160-1 и т.д...". 2-я таблица имеет, среди прочих, два столбца "Customer_Order" и "Quantity". Причем в "Customer_Order" указывается полное наименование прибора, в которое включено название модели - "ххх-хх-8160-хххххх". Количество "Х" - не определено."Quantity" - количество приборов в заказе. Подскажите, как сформировать запрос на получение суммы каждой модели таблицы Model, имеющих совпадения с частью строки таблицы "Customer_Order".
Оператор LIKE здесь не работает, так как принимает подзапрос как строку.

Состояние: Консультация закрыта

Ответ # 131110 от PaVeL_Ekt

Здравствуйте, DmitryDE!

попробуйте like ('%8160%')


Консультировал: PaVeL_Ekt
Дата отправки: 11.12.2006, 17:23

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 131119 от Grigory

Здравствуйте, DmitryDE!
В MS SQL Server'е есть функция SUBSTRING. Вот синтакс:
Syntax
SUBSTRING ( expression , start , length )

Arguments
expression

Is a character string, binary string, text, image, a column, or an expression that includes a column. Do not use expressions that include aggregate functions.

start

Is an integer that specifies where the substring begins.

length

Is an integer that specifies the length of the substring (the number of characters or bytes to return).

Для определения начальной позиции используйте функйию PATINDEX:
PATINDEX
Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types.

Syntax
PATINDEX ( '%pattern%' , expression )

Arguments
pattern

Is a literal string. Wildcard characters can be used; however, the % character must precede and follow pattern (except when searching for first or last characters). pattern is an expression of the short character data type category.

expression

Is an expression, usually a column that is searched for the specified pattern. expression is of the character string data type category.

Return Types
int

Remarks
PATINDEX is useful with text data types; it can be used in a WHERE clause in addition to IS NULL, IS NOT NULL, and LIKE (the only other comparisons that are valid on text in a WHERE clause).

If either pattern or expression is NULL, PATINDEX returns NULL when the database compatibility level is 70. If the database compatibility level is 65 or earlier, PATINDEX returns NULL only when both pattern and expression are NULL.

Examples
A. Use a pattern with PATINDEX
This example finds the position at which the pattern "wonderful" begins in a specific row of the notes column in the titles table.

USE pubs
GO
SELECT PATINDEX('%wonderful%', notes)
FROM titles
WHERE title_id = 'TC3218'


Консультировал: Grigory
Дата отправки: 11.12.2006, 18:17

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 131174 от Синельников Сергей

Здравствуйте, DmitryDE!

Что-то вот похожее на это:

SELECT Model, SUM(Quantity) FROM T1 LEFT OUTER JOIN T2 ON (PATINDEX(Model,Customer_Order)>0) GROUP BY Model

К сожалению в MS SQL не силен, поэтому в возможны неточности в синтаксисе запроса, но смысл такой.


Консультировал: Синельников Сергей
Дата отправки: 12.12.2006, 07:06

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 66544

Посетитель

ID: 20558

# 1

= общий = | 12.12.2006, 09:23 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

regexp ?

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16353 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018