Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 12

Выборка

07.08.2011, 12:03. Показов 2552. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи

При попытке запустить запрос:

Select model,
from (select distinct model, price from pc where price = (select max(price) from pc)
UNION
select distinct model, price from laptop where price = (select max(price) from laptop)
UNION
select distinct model, price from printer where price = (select max(price) from printer)) as C
where C.price = (select max(price) from C)

Получаю ошибку: Invalid object name 'c'.

Добавлено через 14 часов 15 минут
Народ, ну что никто не подскажет?
Я новичок, может настолько лажовая ошибка с моей стороны что никто и комментировать не хочет ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.08.2011, 12:03
Ответы с готовыми решениями:

Выборка по дате
Здравствуйте! Есть итоговая таблица: номер1 25.10.2016 11:36:10 номер2 25.10.2016 15:14:32 Как сделать выборку по дню....

Выборка с подзапросом
Всем привет!) Хочу найти максимальное значение по столбцу product.quantity. В подзапросе я это поле суммирую с целью чтобы потом из...

Выборка по таблице
форумчане, подскажите, как можно сделать след выборку из таблици. есть таблица_А (А1, А2, А3) а1 - integer a2 - varchar a3 -...

11
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.08.2011, 01:25
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT model
  FROM (SELECT model, price
          FROM pc 
         GROUP BY model
        HAVING price = MAX(price)
     UNION
        SELECT model, price
          FROM laptop 
         GROUP BY model
        HAVING price = MAX(price)
     UNION
        SELECT model, price
          FROM printer 
         GROUP BY model
        HAVING price = MAX(price)) c
 GROUP BY model
HAVING MAX(price) = c.price
0
58 / 58 / 1
Регистрация: 19.03.2011
Сообщений: 149
08.08.2011, 11:41
M128K145, теперь автор получит ORA-00979.

request, для выбора максимума:
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WITH s AS
(SELECT 1 model, 10 price FROM dual UNION ALL
 SELECT 2 model, 20 price FROM dual UNION ALL
 SELECT 3 model, 15 price FROM dual
)
SELECT *
FROM
   (SELECT s.*,
    MAX(price) over () mx
    FROM s
   ) 
WHERE price = mx;
 
     MODEL      PRICE         MX
---------- ---------- ----------
         2         20         20
1 ROW selected.
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 12
08.08.2011, 21:27  [ТС]
AmKad у тебя код PL/SQL
а используя только SQL ?
0
58 / 58 / 1
Регистрация: 19.03.2011
Сообщений: 149
09.08.2011, 10:36
Цитата Сообщение от request Посмотреть сообщение
AmKad у тебя код PL/SQL
Где именно показать сможешь?
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 12
10.08.2011, 00:39  [ТС]
WITH s AS - это PL/SQL или T-SQL
мне нужно чтобы использовались только стандартные функции SQL и только

Вот эту строчку я не понял, честно - MAX(price) over () mx

Кстати, решение вот:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT model 
FROM 
(SELECT DISTINCT model, price FROM PC 
UNION 
SELECT  DISTINCT model, price  FROM printer
UNION 
SELECT DISTINCT model, price  FROM laptop
) b
WHERE b.price IN
 
(SELECT MAX(a.price)
FROM
(SELECT DISTINCT price FROM PC WHERE price = (SELECT MAX(price) FROM PC)
UNION 
SELECT  DISTINCT price  FROM printer WHERE price = (SELECT MAX(price) FROM printer)
UNION 
SELECT DISTINCT price  FROM laptop WHERE price = (SELECT MAX(price) FROM laptop)
) a
)
но оно мне не очень нравится
0
3 / 3 / 0
Регистрация: 07.06.2011
Сообщений: 17
10.08.2011, 12:57
request, WITH s AS - оракловый SQL (хотя мне самому такая конструкция не особо нравится).

А насчет запроса, что если так:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT q.model
FROM
(SELECT model, price
FROM pc
UNION ALL
SELECT model, price
FROM laptop
UNION ALL
SELECT model, price
FROM printer
ORDER BY price DESC) q
WHERE rownum = 1
Думаю, сработает.
0
58 / 58 / 1
Регистрация: 19.03.2011
Сообщений: 149
10.08.2011, 15:06
Цитата Сообщение от request Посмотреть сообщение
WITH s AS - это PL/SQL или T-SQL
Неверно.
Цитата Сообщение от rug1976 Посмотреть сообщение
WITH s AS - оракловый SQL
Опять не в яблочко. WITH - это ANSI. http://ru.wikipedia.org/wiki/SQL
Цитата Сообщение от rug1976 Посмотреть сообщение
(хотя мне самому такая конструкция не особо нравится).
Ты просто не умеешь ее готовить.
0
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 12
10.08.2011, 21:45  [ТС]
2 Amkad: не уверен что это о том, посмотрю поточнее, напишу.

2 rug1976 : твой запрос работать не будет, 100%
0
3 / 3 / 0
Регистрация: 07.06.2011
Сообщений: 17
12.08.2011, 15:26
Цитата Сообщение от request Посмотреть сообщение
2 rug1976 : твой запрос работать не будет, 100%
Почему ты так решил? Ты попробуй.
0
 Аватар для devart dbforge
134 / 119 / 0
Регистрация: 30.06.2010
Сообщений: 221
12.08.2011, 17:11
Цитата Сообщение от rug1976 Посмотреть сообщение
Почему ты так решил? Ты попробуй.

Потому, что http://sql-ex.ru понимает только синтаксис Transact-SQL, да и то на уровне где-то между SQL 2000 и SQL 2005.
0
58 / 58 / 1
Регистрация: 19.03.2011
Сообщений: 149
12.08.2011, 17:26
Тебе кое-кто уже ответил, а ты в WITH-у прицепился.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2011, 17:26
Помогаю со студенческими работами здесь

Выборка из сложной БД
Здравствуйте! Нужна помощь. Вопрос достаточно общий, так что извиняюсь, если запостил не в ту ветку. Есть бд со сложной...

Выборка по дате
Подскажите как сделать выборку по дате, исключая время? Т.е. в базе хранится дата в виде: 28.07.2015 18:38:22 А мне нужно отобрать...

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

Выборка по дате
Добрый день! Для того, что бы выбрать необходимую мне дату пишу условие "where date = '31-DEC-2009'" результат -...

Выборка данных
Уважаемые форумчане, в университете дали задание ДЗ написать 5 SELECT-ов. 2 я написать смог. Остальные не получается. я в БД новичёк,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru