powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
12 сообщений из 12, страница 1 из 1
Запрос SQL
    #39807351
Ademovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!
Помогите, пожалуйста, составить запрос по буквой р
Учусь только писать запросы, ломаю голову который час никак не могу придумать.
Пробовала с decode, case, но все что-то не то
...
Рейтинг: 0 / 0
Запрос SQL
    #39807354
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ademovo,

Using PIVOT and UNPIVOT: Examples нуи старый дедовский метод с DECODE/CASE прекрасно работает. Покажи что наваяла, подскажем что не так.

SY.
...
Рейтинг: 0 / 0
Запрос SQL
    #39807357
Ademovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

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

будет ли работать какой то из этих способов?
1. select CustomerName, sum(ordersum), isnull(orderNo, 0) from customer c, order h
where c.customerNo=h.customerNo( в разных таблицах находятся)
group by CustomerName, orderNo

2. select CustomerName, sum(ordersum),
decode(count(orderNo), 0,0, orderNo) from customer c, order h
where c.customerNo=h.customerNo
group by CustomerName, orderNo
...
Рейтинг: 0 / 0
Запрос SQL
    #39807384
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так гораздо читабельней
Код: sql
1.
2.
3.
select CustomerName, sum(ordersum), isnull(orderNo, 0) from customer c, order h
where c.customerNo=h.customerNo( в разных таблицах находятся)
group by CustomerName, orderNo



Код: sql
1.
2.
3.
4.
select CustomerName, sum(ordersum),
decode(count(orderNo), 0,0, orderNo) from customer c, order h
where c.customerNo=h.customerNo
group by CustomerName, orderNo
...
Рейтинг: 0 / 0
Запрос SQL
    #39807385
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Крайне желательно указывать имя таблицы к каждому используемому полю.

Подскажите, пожалуйста, по другой, если мне нужно вывести номера клиентов, group by CustomerName
orderNo - видимо номер заказа и группировать по нему не нужно.

Кол-во строк размещенных заказов - count(CustomerName)
Возвращать только номера тех клиентов, которые разместили хотя бы один заказ
-при соединении таблиц (c.customerNo=h.customerNo) у тебя сразу тсеются клиенты без заказов.
...
Рейтинг: 0 / 0
Запрос SQL
    #39807598
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ademovoнужно вывести номера клиентов, колво строк размещенных заказов. Возвращать только номера тех клиентов, которые разместили хотя бы один заказ.

будет ли работать какой то из этих способов?


Не будет. Hужно вывести номера клиентов, а ты группируешь по CustomerName, orderNo. Соответственно GROUP BY вернет по одной записи на заказ а не по одной записи на клиентa.

SY.
...
Рейтинг: 0 / 0
Запрос SQL
    #39809502
Ademovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,

спасибо!
...
Рейтинг: 0 / 0
Запрос SQL
    #39809503
Ademovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

еще раз спасибо!
...
Рейтинг: 0 / 0
Запрос SQL
    #39811986
kolesan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже обучаюсь. Подскажите, пожалуйста, как решить следующую задачу.
Имеются колонки, в которых содержатся записи с "только цифрами", и с "цифры вперемешку с буквами и пробелам".
Мне нужно возвратить колонки только с цифрами.

Код: plsql
1.
2.
3.
select *
from LOCATIONS
where postal_code not like '%[^0-9]%';
...
Рейтинг: 0 / 0
Запрос SQL
    #39811988
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesanТоже обучаюсь.Это не повод притворяться отвечающим, а не задающим.
kolesan
Код: plsql
1.
like '%[^0-9]%'

RTFM Pattern-matching Conditions (FAQ)
...
Рейтинг: 0 / 0
Запрос SQL
    #39811990
kolesan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

спасибо за документацию. А про "отвечающего" не понял. Лучше свою тему создавать?
...
Рейтинг: 0 / 0
Запрос SQL
    #39812001
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesanТоже обучаюсь. Подскажите, пожалуйста, как решить следующую задачу.
Имеются колонки, в которых содержатся записи с "только цифрами", и с "цифры вперемешку с буквами и пробелам".
Мне нужно возвратить колонки только с цифрами.

Код: plsql
1.
2.
3.
select *
from LOCATIONS
where postal_code not like '%[^0-9]%';



возвратить колонки или строки?

зы
строки не регуляркой (tranclate, trim)

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQL> ed
Wrote file afiedt.buf

  1  with t as (
  2  select '123 456' s from dual union all
  3  select '1230456' s from dual union all
  4  select 'xyz abc' s from dual union all
  5  select '' s from dual
  6  )
  7  select * from t
  8  where --translate(nvl(s,'*'),'@1234567890','@') is null
  9*         ltrim(nvl(s,'*'),'1234567890') is null
SQL> /

S
-------
1230456



....
stax
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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