Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Проход по таблице с помощью PL/SQL


Автор: Devorior 31.3.2005, 18:16
есть таблица вот такого плана:

CODE | PARID | VALUE
code1 | 337 | 100
code1 | 340 | 120
code2 | 337 | 130
code2 | 340 | 140
code3 | 337 | 150
code3 | 340 | 160

требуется получить результат с помощью SQL-скрипта:

CODE | COL1 | COL2
code1 | 100 | 120
code2 | 130 | 140
code3 | 150 | 160

, где COL1 -- значение из столбца VALUE если PARID = 337
COL2 -- значение из столбца VALUE если PARID = 340

Подскажите как написать скрипт.

Автор: LSD 31.3.2005, 21:08
Получит это можно с помощью вот такого запроса:
Код
SQL> select distinct t1.code code, t2.value col1, t3.value col2
  2    from code_table t1,
  3         (select code, value from code_table where parid = 337) t2,
  4         (select code, value from code_table where parid = 340) t3
  5    where t1.code = t2.code and t1.code = t3.code;

CODE                       COL1       COL2
-------------------- ---------- ----------
code1                       100        120
code2                       130        140
code3                       150        160

Или тебя интересует как сформировать такой запрос?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)