Запрос Oracle для выбора отдельного значения на основе другого значения столбца - PullRequest
1 голос
/ 20 марта 2019

Рассмотрим пример таблицы ниже:

ID    Value
123   ABC
456   DEF
456   ABC

Я хочу выбрать результат запроса, как показано ниже:

ID    Value
123   ABC
456   DEF

Примечание: ID имеет только 2 разных значения - «123» и «456». Выбор должен основываться на столбце «ID». Если присутствует значение «123», необходимо выбрать соответствующие данные из столбца «Значение». Если не "456" ID должен быть восстановлен.

Ответы [ 3 ]

0 голосов
/ 20 марта 2019

Вы можете использовать приведенное ниже, если ID - это строка, например, 456 - это «xxx», а 123 - «гггг» Скрипка SQL здесь

WITH tt1 
     AS (SELECT Decode(id, '123', 1, 
                           2) order1, 
                id, 
                value1 
         FROM   tt), 
     tt2 
     AS (SELECT Min(order1) order1, 
                value1 
         FROM   tt1 
         GROUP  BY value1) 
SELECT tt1.id, 
       tt1.value1 
FROM   tt2, 
       tt1 
WHERE  tt1.value1 = tt2.value1 
       AND tt1.order1 = tt2.order1; 
0 голосов
/ 20 марта 2019

Примерно так:

    select min(id) as id,
           Value 
    from table
    group by  Value, id
0 голосов
/ 20 марта 2019

Простая группа по поможет вам получить желаемый результат

select min(id), value
from table
group by value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...