Как ВЫБРАТЬ из двух разных столбцов в условии Упорядочить по другой таблице и объединить их с помощью SQL - PullRequest
1 голос
/ 27 ноября 2010

У меня есть две таблицы:

Таблица1 - это ..

     firstname  |   lastname  

     Peter      |    Das

     Das        |    James

     vector     |   Call

     cans       |    Das

и table2 это

 id |  user   |  roll
 ___________________
 1 |  cans   |  5

 2 |  James  |  2

 3 |  Peter  |  8

 4 | vector |  6

И я хочу выводить результат как

 id |   name
 __________
 3 |  Peter

 1 |  Cans

 2 |  James

И описание SQL-запроса может быть таким:

SELECT (lastname WHERE firstname='Das' AND firstname WHERE lastname='Das' FROM table1 AS name
(SELECT roll from table2 AS rollorder WHERE user=name) ORDER BY rollorder DESC

здесь порядок должен быть table2

Я не знаю этот SQL-запрос

поэтому, пожалуйста, помогите мне

Любые идеи и предложения приветствуются

1 Ответ

1 голос
/ 27 ноября 2010
   select t2.id, (case when t1.lastname = 'Das' then t1.firstname
                 when t1.firstname = 'Das' then t1.lastname end)
    from (select (case when lastname = 'Das' then firstname
                       when firstname = 'Das' then lastname end) as name_to_compare,
                 firstname,
                 lastname
            from table1
           where firstname = 'Das' or 
                 lastname = 'Das') t1 inner join
          table2 t2 on t1.name_to_compare = t2.users
    order by t2.roll desc

РЕДАКТИРОВАТЬ: некоторые ошибки исправлены, это должно работать отлично.Проверено на данных испытаний.Пользователь - это ключевое слово, поэтому замените его пользователями.Замените на соответствующий столбец в вашей базе данных.

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