Как прочитать случайную строку из столбца 1 и равен случайной строке из столбца 2 в Microsoft SQL SERVER 2005? - PullRequest
0 голосов
/ 22 февраля 2011

у меня 3 столбца

  1. столбец Mark1
  2. столбец Переход
  3. столбец Mark2
    Mark1    Transition   Mark2
    1            a           2
    2            b           3
    1            a           4
    4            c           5

Результат, который я хочу получить:

  • Результат Mark2, где переход равен "a", а mark1 равен "1"
  • тогда результат Mark2, где переход равен "b", а первая строка Mark2 равна второй строке Mark1

Или результат:

2
3

1 Ответ

0 голосов
/ 22 февраля 2011

Ну, это не красиво, но это делает то, о чем вы, как мне кажется, просили.

Причина, по которой cte's делает SQLL более разборчивым.

with t1a as
    (select * 
    from tablea a
    where a.mark1 = 1
    and a.transition = 'a'),
t2b as
    (select * 
    from tablea a
    where a.mark1 = 2
    and a.transition = 'b')
select t1a.mark2 
from t1a
where mark2 in (select mark1 from t2b)
union 
select t2b.mark2
from t2b

Надеюсь, я не понял неправильноВаш запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...