powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Вытащить из таблицы количество записей и их частичное содержимое
7 сообщений из 7, страница 1 из 1
Вытащить из таблицы количество записей и их частичное содержимое
    #36453893
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно вытащить из таблицы количество записей, удовлетворяющих условию отбора и их частичное содержимое должно совпадать

В таблице PARADOX имеются 2 поля, по которым мне нужно сделать выборку

Например имеются данные
TIP | REG_NOMER
уборка | 21001
чистка | 31001
уборка | 21002
уборка | 21003
мойка | 11001
уборка | 41001

Мне нужно в выборке получить 2 поля с информацией о том, что в поле TIP содержиться информация о УБОРКЕ и о кол-ве этих записей с их частичныом содержимым (первые 2 символа) поля REG_NOMER

Код: plaintext
1.
2.
Select count(TIP), LEFT(REG_NOMER,  2 ) From 
(Select * From T1 Where TIP='уборка')
Where первые два символа поля REG_NOMER равны

т.е. запрос должен дать такой результат
Count(TIP) | REG_NOMER
3 | 21
1 | 41

Как мне написать запрос ?
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36454002
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТОЧНЕЕ ДАЖЕ ТАК
(НЕ нашла как предыдущее сообщение отредактировать :( )

Мне нужно вытащить из таблицы количество записей, удовлетворяющих условию отбора и их частичное содержимое должно совпадать (до знака тире )

В таблице PARADOX имеются 2 поля, по которым мне нужно сделать выборку

Например имеются данные
TIP | REG_NOMER
уборка | 210-01
чистка | 31-001
уборка | 210-02
уборка | 210-03
уборка | 5100-3
уборка | 41-001

Мне нужно в выборке получить 2 поля с информацией о том, что в поле TIP содержиться информация о УБОРКЕ и о кол-ве этих записей с их частичныом содержимым (первые 2 символа) поля REG_NOMER

Код: plaintext
1.
2.
Select count(TIP), LEFT(REG_NOMER,  2 ) From 
(Select * From T1 Where TIP='уборка')
Where первые символы поля REG_NOMER ДО ТИРЕ равны

т.е. запрос должен дать такой результат
Count(TIP) | REG_NOMER
3 | 210
1 | 41
1 | 5100

Как мне написать запрос ?
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36454062
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишу так

Код: plaintext
1.
2.
Select count(TIP), LEFT(REG_NOMER, CHARINDEX('-',REG_NOMER)) From 
(Select * From T1 Where TIP='уборка')
GROUP BY REG_NOMER

но парадокс не понимает LEFT

Есть в парадоксе аналог?
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36454140
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
замену функции Left нашла в виде SUBSTRING , а аналога CHARINDEX не нашла :(. Pos в парадоксе тоже нет.

Есть идеи?

Код: plaintext
1.
2.
3.
select count (TIP) as "Count(TIP)",
SUBSTRING(REG_NOMER FROM  1  FOR CHARINDEX('-',REG_NOMER)) as REG_NOMER from  T1
where TIP='уборка'
group by SUBSTRING(REG_NOMER FROM  1  FOR CHARINDEX('-',REG_NOMER))
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36455312
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Ольга!
You wrote on Sun, 07 Feb 10 13:06:50 GMT:

Ольга ОС> Есть идеи?видимо пора уже бросать этот самый Paradox...
подмножество SQL там весьма ограничено.
дело не в самом Paradox-е, а в ущербности Local SQL реализованном в BDE.
можно конечно попытаться работать через ODBC.
в спецификацию ODBC включены т.н. Escape Sequences.
в них есть много чего, в том числе и нужный тебе POSITION() и прочее.
вопрос только в том, реализовано ли сие в ODBC-драйвере для Paradox-а.
я лично не щупал.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36455893
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подключилась через ODBC связанный я моим парадаксом

Так вот работать стало

Код: plaintext
1.
2.
3.
select count (TIP) as "Count(TIP)",
left (REG_NOMER,  3 ) as REG_NOMER from @T1
where TIP='уборка'
group by left (REG_NOMER,  3 )

а вот так
Код: plaintext
1.
2.
3.
select count (TIP) as "Count(TIP)",
left (REG_NOMER, charindex('-',REG_NOMER)- 1 ) as REG_NOMER from @T1
where TIP='уборка'
group by left (REG_NOMER, charindex('-',REG_NOMER)- 1 )

функцию charindex или position пишет что неопределенная функция :(

А LEFT главное работает :blink:
...
Рейтинг: 0 / 0
Вытащить из таблицы количество записей и их частичное содержимое
    #36455974
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Ольга!
You wrote on Mon, 08 Feb 10 13:51:47 GMT:

Ольга ОС> функцию charindex или position пишет что неопределенная функция :(ты не так её пользуешь.
синтаксис такой:
Код: plaintext
POSITION('-' IN REG_NOMER)
а вот charindex 'а в ODBC, по-моему нету.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Вытащить из таблицы количество записей и их частичное содержимое
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]