выделите отдельные два столбца шириной других столбцов - PullRequest
0 голосов
/ 29 февраля 2020

быстрый пример

sender_id  ||  receiver_id 
 25        ||     30 
 25        ||     32 
 30        ||     25 
 30        ||     20 
 20        ||     25 

Я хочу вывод, подобный этому:

sender_id  ||  receiver_id
   25      ||     30
   25      ||     32
   30      ||     20
   20      ||     50

какой запрос должен быть
любой может помочь
примечание: я хочу выбрать другие столбцы в выборке

Ответы [ 3 ]

0 голосов
/ 29 февраля 2020

Если вы просто хотите сравнить sender_id и receive_id ....... Я думаю, что вы должны сделать JOIN с таким подзапросом, как этот

select * from TABLE t 
JOIN (     
      SELECT DISTINCT sender_id, receiver_id FROM table_two  
) subqquery ON subquery.key = t.key

Я надеюсь помочь вам

0 голосов
/ 01 марта 2020

Попробуйте этот запрос, чтобы получить ваш результат,

select distinct a.sender_id,a.receiver_id
    from sen_rev a
    left join sen_rev b
    on a.sender_id=b.receiver_id
    where a.receiver_id<> b.sender_id
    order by a.sender_id;
0 голосов
/ 29 февраля 2020

С NOT EXISTS:

select t.*
from tablename t
where t.sender_id < t.receiver_id
or not exists (
  select 1 from tablename
  where receiver_id = t.sender_id and sender_id = t.receiver_id
)

См. Демоверсию . Результаты:

| sender_id | receiver_id |
| --------- | ----------- |
| 25        | 30          |
| 25        | 32          |
| 30        | 20          |
| 20        | 25          |
...