Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор строк с разными значениями / 10 сообщений из 10, страница 1 из 1
10.12.2017, 16:22:18
    #39567291
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
Добрый день, вы не могли бы пожалуйста подсказать как сделать запрос к таблице?

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

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."Столбец Б")

но результат пустой, хотя я точно знаю, что имеются строки, где Столбец Б различается относительно Столбец А.

Помогите пожалуйста разобраться
...
Рейтинг: 0 / 0
10.12.2017, 16:42:47
    #39567299
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
Код: sql
1.
2.
3.
4.
SELECT DISTINCT t1.*
FROM table t1, table t2
WHERE t1.name = t2.name
  AND t1.host != t2.host
...
Рейтинг: 0 / 0
10.12.2017, 16:44:39
    #39567302
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
4everanoob
Код: sql
1.
2.
3.
where t1."Столбец Б" <> t2."Столбец Б" 
  and t1."Столбец А"=t2."Столбец А"
  and t1."Столбец Б" =  t2."Столбец Б"
...
Рейтинг: 0 / 0
10.12.2017, 18:09:05
    #39567333
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
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] от А до Я?
Вы бы меня очень выручили
...
Рейтинг: 0 / 0
10.12.2017, 18:11:22
    #39567335
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
4everanoobAkina,

как я могу объединить два запроса в одну таблицу?

SELECT [Столбец 4], [Столбец 5]
FROM table

и

SELECT DISTINCT t1.*
FROM table t1, table t2
WHERE t1.[Столбец 5] = t2.[Столбец 5]
AND t1.[Столбец 4] != t2.[Столбец 4]

и отсортировать по [Столбец 5] от А до Я?
Вы бы меня очень выручили

т.е. чтобы на выходи получить именно одну таблицу вида

Amy host1
Amy host9999
Andy host4
Andy host8888

с двумя столбцами и по алфавиту
...
Рейтинг: 0 / 0
10.12.2017, 18:31:36
    #39567340
baracs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
4everanoobкак я могу объединить два запроса в одну таблицу? "Объединить" - это что значит?
JOIN или UNION ?
...
Рейтинг: 0 / 0
10.12.2017, 18:39:55
    #39567343
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
baracs4everanoobкак я могу объединить два запроса в одну таблицу? "Объединить" - это что значит?
JOIN или UNION ?

Есть таблица table с множеством столбцов, из который мне нужны только Столбец 5 и Столбец 4 и результат

SELECT DISTINCT t1.*
FROM table t1, table t2
WHERE t1.[Столбец 5] = t2.[Столбец 5]
AND t1.[Столбец 4] != t2.[Столбец 4]

нужно вывести только для этих двух столбцов по алфавиту относительно Столбец 5
...
Рейтинг: 0 / 0
10.12.2017, 18:48:31
    #39567348
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
Т.е. нужно объединение двух 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]
...
Рейтинг: 0 / 0
10.12.2017, 18:55:30
    #39567350
4everanoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
я думал что то вроде этого

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]

но ругается на закрывающую скобку
...
Рейтинг: 0 / 0
10.12.2017, 19:20:46
    #39567361
baracs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор строк с разными значениями
4everanoobbaracsпропущено...
"Объединить" - это что значит?
JOIN или UNION ?

Есть таблица table с множеством столбцов, из который мне нужны только Столбец 5 и Столбец 4 и результат

SELECT DISTINCT t1.*
FROM table t1, table t2
WHERE t1.[Столбец 5] = t2.[Столбец 5]
AND t1.[Столбец 4] != t2.[Столбец 4]

нужно вывести только для этих двух столбцов по алфавиту относительно Столбец 5 Яснее не стало.
Смутно подозреваю, что вам их нужно" сджойнить". Сходите по приведенной выше ссылке или сюда , посмотрите какие бывают соединения (join) и как они делаются.

З.Ы. здесь тоже INNER JOIN, только используется старый синтаксис, который стремятся изжить.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор строк с разными значениями / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]