Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
4everanoob Member Откуда: Сообщений: 6 |
Добрый день, вы не могли бы пожалуйста подсказать как сделать запрос к таблице? Есть таблица с множеством строк из которых мне нужны только две, я делаю запрос: select "Столбец А", "Столбец Б" from table и получаю таблицу такого вида: Столбец А Столбец Б Amy host1 Bob host2 Carl host3 Andy host4 Amy host9999 Carl host3 Carl host3 Andy host4 Andy host8888 Bob host2 Далее мне необходимо вывести только те строки, где значения в Столбец Б отличаются с привязкой к Столбец А, т.е. на выходе должна появиться таблица: Столбец А Столбец Б Amy host1 Amy host9999 Andy host4 Andy host8888 Как видно, запрос вывел только те строки, где Столбец Б по ходу таблицы был разный с привязкой к Столбец А и не вывел строки с Bob и Carl, т.к у них Столбец Б всегда был одинаковый. Попробовал сделать через select "Столбец А", "Столбец Б" from table t1 where exists (select "Столбец А", "Столбец Б" from table t2 where t1."Столбец Б"<>t2."Столбец Б" and t1."Столбец А"=t2."Столбец А" and t1."Столбец Б"=t2."Столбец Б") но результат пустой, хотя я точно знаю, что имеются строки, где Столбец Б различается относительно Столбец А. Помогите пожалуйста разобраться |
10 дек 17, 16:22 [21021866] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20974 |
SELECT DISTINCT t1.* FROM table t1, table t2 WHERE t1.name = t2.name AND t1.host != t2.host |
10 дек 17, 16:42 [21021895] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20974 |
|
||
10 дек 17, 16:44 [21021900] Ответить | Цитировать Сообщить модератору |
4everanoob Member Откуда: Сообщений: 6 |
Akina, как я могу объединить два запроса в одну таблицу? SELECT [Столбец 4], [Столбец 5] FROM table и SELECT DISTINCT t1.* FROM table t1, table t2 WHERE t1.[Столбец 5] = t2.[Столбец 5] AND t1.[Столбец 4] != t2.[Столбец 4] и отсортировать по [Столбец 5] от А до Я? Вы бы меня очень выручили |
10 дек 17, 18:09 [21022013] Ответить | Цитировать Сообщить модератору |
4everanoob Member Откуда: Сообщений: 6 |
т.е. чтобы на выходи получить именно одну таблицу вида Amy host1 Amy host9999 Andy host4 Andy host8888 с двумя столбцами и по алфавиту |
||
10 дек 17, 18:11 [21022020] Ответить | Цитировать Сообщить модератору |
baracs Member Откуда: Москва Сообщений: 7206 |
JOIN или UNION? |
||
10 дек 17, 18:31 [21022059] Ответить | Цитировать Сообщить модератору |
4everanoob Member Откуда: Сообщений: 6 |
Есть таблица table с множеством столбцов, из который мне нужны только Столбец 5 и Столбец 4 и результат SELECT DISTINCT t1.* FROM table t1, table t2 WHERE t1.[Столбец 5] = t2.[Столбец 5] AND t1.[Столбец 4] != t2.[Столбец 4] нужно вывести только для этих двух столбцов по алфавиту относительно Столбец 5 |
||||
10 дек 17, 18:39 [21022070] Ответить | Цитировать Сообщить модератору |
4everanoob Member Откуда: Сообщений: 6 |
Т.е. нужно объединение двух SQL запросов к одной таблице table Запрос 1: отобразить только [Столбец 4], [Столбец 5] из table Запрос 2: отобразить строки только согласно запросу SELECT DISTINCT t1.* FROM table t1, table t2 WHERE t1.[Столбец 5] = t2.[Столбец 5] AND t1.[Столбец 4] != t2.[Столбец 4] и отсортировать по алфавиту относительно значениям [Столбец 5] |
10 дек 17, 18:48 [21022089] Ответить | Цитировать Сообщить модератору |
4everanoob Member Откуда: Сообщений: 6 |
я думал что то вроде этого select ( select [Столбец 4], [Столбец 5] from table SELECT DISTINCT t1.* FROM table t1, table t2 WHERE t1.[Столбец 5] = t2.[Столбец 5] AND t1.[Столбец 4] != t2.[Столбец 4] ) from table group by [Столбец 5] но ругается на закрывающую скобку |
10 дек 17, 18:55 [21022103] Ответить | Цитировать Сообщить модератору |
baracs Member Откуда: Москва Сообщений: 7206 |
Смутно подозреваю, что вам их нужно" сджойнить". Сходите по приведенной выше ссылке или сюда, посмотрите какие бывают соединения (join) и как они делаются. З.Ы. здесь тоже INNER JOIN, только используется старый синтаксис, который стремятся изжить. |
||||
10 дек 17, 19:20 [21022198] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |