У меня есть одно требование, чтобы написать запрос SQL Server для чтения из одной таблицы, давайте предположим, что таблица называется Table1, структура и строки выглядят следующим образом:SQL запрос, чтобы объединить две строки в одну, как результат
Ключ, если значение столбца RefID имеет значение, например, строка 2 имеет значение RefID 3, оно ссылается на идентификатор другой строки (строка 3), а строка 3 также должна иметь неверный идентификатор RefID, а значение должно Идентификатор первого. Идея состоит в том, что эти два принадлежат одному и тому же объекту, поэтому я хотел бы получить их как одну строку результата.
Я знаю, что могу сделать внутреннее соединение в той же таблице, как это:
select T1.*, T2.* from Table1 T1 inner join Table1 T2 on T1.RefID = T2.ID
where T1.ID is not null
Но вещь результат имеет избыточность: результат будет иметь 4 строки и, как я уже говорил, так как строки 2 и строки 3 вместе представляют один объект, я хотел бы получить только 2 строки: один для строки 2 строки 3, а другой для строки 4 строки 5. Как я могу это сделать?
Как вы можете выбрать две строки 2 и 3 в одной строке? какие общие функции вы хотите использовать? Вставьте нужные данные для двух строк данных образца, которые вы разместили, и это объяснит, что вы хотите получить. –