2010-06-17 2 views
0

Q. отображает все зарплаты и отображает итоговый саль в конце? В. Сколько столбцов вставлено в одну таблицу?по базовому вопросу sql

+0

, пожалуйста, используйте значок нумерации для начисления/нумерации вашего вопроса, который сделает его более читаемым. – Chinjoo

+0

Здравствуйте, добро пожаловать в stackoverflow.com! К сожалению, ваш вопрос не содержит важной информации и поэтому невозможно ответить. Пожалуйста, опишите, по крайней мере: - структуру таблиц, которые вы запрашиваете, - контекст, в котором вы это делаете (разработка новой системы, работа над существующей системой, домашнее задание ...), - решение, которое у вас есть, и где вы получили застрял. В противном случае ваш вопрос будет закрыт. – sleske

ответ

0
  1. выберите сала из empsal объединения выберите SUM (SAL) от empsal

  2. Я думаю, что вы хотите, чтобы получить количество столбцов для таблицы. Вы можете сделать это будет следующий запрос:

    SELECT COUNT (*) из INFORMATION_SCHEMA.COLUMNS где table_name = ''

+0

Существует только необходимость сканировать таблицу дважды, когда исходный плакат имеет версию базы данных Oracle <8i. Где-то в диапазоне 8i группа по расширениям стала доступна. И когда вы делаете это по пути Oracle7, по крайней мере используйте UNION ALL вместо UNION, чтобы избежать ненужного этапа сортировки и избежать возможности потерять общее количество, если в таблице присутствует только одна строка. –

+0

-1 И хотя я не понимаю второй вопрос, ваш запрос в ответе - глупость. Он должен быть «select count (*) из user_tab_columns, где table_name = 'his_single_table'". –

+0

oops ... Я din заметил тег ... мой ответ был для SQL – Chinjoo

0

Решение 1: Использование Roll Up функция для первого вопроса

select empno,sum(sal) from emp group by rollup((sal,empno)); 

Решение 2: Использование Группирование Наборы

select empno,sum(sal) from emp group by GROUPING SETS ((empno),()) 
+0

Это не дает ожидаемого результата, хотя предложение rollup является хорошим. –

+0

@Rob van Wijk: Вы правы, я не знаю, правильно ли прочитал вопрос. – Bharat

1

Q1:

SQL> select sum(sal) 
    2 from emp 
    3 group by rollup(empno) 
    4/

    SUM(SAL) 
---------- 
     800 
     1100 
     1300 
     1500 
     1600 
     3000 
     3000 
     5000 
     950 
     1250 
     1250 
     2450 
     2850 
     2975 
    29025 

15 rows selected. 

Q2: Объясните, пожалуйста, этот вопрос еще.

С уважением, Роб.

Смежные вопросы