powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / single-row subquery returns more than one row
9 сообщений из 9, страница 1 из 1
single-row subquery returns more than one row
    #39639111
demamon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 таблицы
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 ` CREATE TABLE "SYSTEM"."SALECAR" 
   ("CARBRANDID" NUMBER NOT NULL ENABLE, 
    "CARMODELID" NUMBER NOT NULL ENABLE, 
    "COSTT" NUMBER NOT NULL ENABLE, 
    "SALEDATE" DATE NOT NULL ENABLE, 
    "LOADID" NUMBER, 
     CONSTRAINT "FK_ID_DOWNLOADS" FOREIGN KEY ("LOADID")
      REFERENCES "SYSTEM"."ID_DOWNLOADS" ("LOADID") ENABLE
   );`                                                                      
 `CREATE TABLE "SYSTEM"."CAR_BRAND" 
   (    "CARBRANDID" NUMBER NOT NULL ENABLE, 
    "BRANDNAME" VARCHAR2(20 BYTE) NOT NULL ENABLE, 
     CONSTRAINT "CAR_BRAND_PK" PRIMARY KEY ("CARBRANDID")                
  );`  


Нужно написать запрос, есть переменная loadid1 по которой нужно вывести таблицу в которой будет BRANDNAME и сумма COST по этому бренду. Лучше этого придумать не могу.
Код: plsql
1.
2.
3.
4.
5.
SELECT Br.BRANDNAME, SUM(Sc.COSTT) AS COSTT
FROM CAR_BRAND Br INNER JOIN SALECAR Sc ON Br.CARBRANDID = Sc.CARBRANDID
WHERE Sc.CARBRANDID =
(SELECT Sc.Carbrandid FROM SALECAR WHERE loadid1 = Sc.loadid) 
GROUP BY Br.BRANDNAME;
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39639116
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demamon,
От сессии до сессии?...
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39639119
demamon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman,

Если бы)
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39639339
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demamon,

почему сразу не написать Sc.loadid=loadid1?

.....
stax
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39639570
demamon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,
Cумму по полям не считает, выводит только по 1 полю
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39639582
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demamonStax,
Cумму по полям не считает, выводит только по 1 полю

не понял
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
SQL> ed
Wrote file afiedt.buf

  1  with SALECAR (CARBRANDID,COSTT,LOADID) as (
  2  select 1,10,1 from dual union all
  3  select 2,20,1 from dual union all
  4  select 1,100,1 from dual union all
  5  select 2,200,1 from dual union all
  6  select 1,11,2 from dual union all
  7  select 2,22,2 from dual)
  8  ,CAR_BRAND (CARBRANDID,BRANDNAME) as (
  9  select 1,'bmw' from dual union all
 10  select 2,'zaz' from dual )
 11  SELECT Br.BRANDNAME, SUM(Sc.COSTT) AS COSTT
 12  FROM CAR_BRAND Br INNER JOIN SALECAR Sc ON Br.CARBRANDID = Sc.CARBRANDID
 13  WHERE Sc.CARBRANDID =
 14  (SELECT Sc.Carbrandid FROM SALECAR WHERE :loadid1 = Sc.loadid)
 15* GROUP BY Br.BRANDNAME
SQL> /
(SELECT Sc.Carbrandid FROM SALECAR WHERE :loadid1 = Sc.loadid)
 *
ERROR at line 14:
ORA-01427: single-row subquery returns more than one row


SQL> ed
Wrote file afiedt.buf

  1  with SALECAR (CARBRANDID,COSTT,LOADID) as (
  2  select 1,10,1 from dual union all
  3  select 2,20,1 from dual union all
  4  select 1,100,1 from dual union all
  5  select 2,200,1 from dual union all
  6  select 1,11,2 from dual union all
  7  select 2,22,2 from dual)
  8  ,CAR_BRAND (CARBRANDID,BRANDNAME) as (
  9  select 1,'bmw' from dual union all
 10  select 2,'zaz' from dual )
 11  SELECT Br.BRANDNAME, SUM(Sc.COSTT) AS COSTT
 12  FROM CAR_BRAND Br INNER JOIN SALECAR Sc ON Br.CARBRANDID = Sc.CARBRANDID
 13  WHERE :loadid1 = Sc.loadid
 14* GROUP BY Br.BRANDNAME
SQL> /

BRA      COSTT
--- ----------
zaz        220
bmw        110

SQL>



.....
stax
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39640069
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Да ты волшебник! В смысле, магией данных воспользовался в своём примере.

Код: plsql
1.
WHERE Sc.CARBRANDID IN
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39640076
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Формально, оба ответа соответствуют постановке зада чи.

demamonНужно написать запрос, есть переменная loadid1 по которой нужно вывести таблицу в которой будет BRANDNAME и сумма COST по этому бренду
...
Рейтинг: 0 / 0
single-row subquery returns more than one row
    #39640117
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envStax,

Да ты волшебник! В смысле, магией данных воспользовался в своём примере.

Код: plsql
1.
WHERE Sc.CARBRANDID IN


видать перегрелся, туплю, не могу понять про магию

....
stax
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / single-row subquery returns more than one row
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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