С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17

Нахождение одинаковых записей при равенстве двух полей

11.05.2017, 13:23. Показов 4318. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен запрос который будет находить одинаковые записи, если равны два поля. Если первые поля равны, а вторые нет, то такую запись не надо и наоборот.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2017, 13:23
Ответы с готовыми решениями:

При равенстве групп из двух символов в результат записать число с измененными местами символами (например, есл
нужно изменить программу так что При равенстве групп из двух символов в результат записать число с измененными местами символами...

Заполнение одинаковых полей в двух разных таблицах
Всем добрый день. Нужна помощь. Есть две разные таблицы. Но в них есть одинаковые поля. табельный номер и фамилия. Мне нужно что бы из...

Нахождение в массиве двух одинаковых чисел
Здравствуйте. Застрял на задаче, решил попросить у вас помощи. Суть её в том, что из файла считывается массив целых чисел, в нём находятся...

10
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
11.05.2017, 14:02
предположим, что там все-таки есть поле Id, которое отличает одну запись от другой
T-SQL
1
2
3
4
SELECT *
FROM
  FuckingTable t1
  JOIN FuckingTable t2 ON t1.Field1 = t2.Field1 AND t1.Field2 = t2.Field2 AND t2.Id > t1.Id
Добавлено через 2 минуты
а так можно найти значения тех полей, для которых записи "повторяются"
T-SQL
1
2
3
4
SELECT Field1, Field2 
FROM FuckingTable 
GROUP BY  Field1, Field2
HAVING COUNT(*) > 1
Добавлено через 2 минуты
тогда сами записи так

T-SQL
1
2
3
4
5
6
7
SELECT * 
FROM (
  SELECT Field1, Field2 
  FROM FuckingTable 
  GROUP BY  Field1, Field2
  HAVING COUNT(*) > 1
) f LEFT JOIN FuckingTable t ON f.Field1 = t.Field1 AND f.Field2 = t.Field2
0
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17
11.05.2017, 22:08  [ТС]
а можно чтобы это выводилось не в одну строку, а строка под строкой?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
11.05.2017, 22:13
второй запрос пробовали?
0
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17
11.05.2017, 22:28  [ТС]
Мне больше подходит третий так как это только половина моего условия. А полное условие звучит так: выбрать все записи у которых столбец 1 и 2 равны, а столбцы 3 и 4 вместе не были равны
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
11.05.2017, 22:32
я его и имел в виду, т.к. "второй" - это лишь подзапрос "третьего"
0
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17
11.05.2017, 22:36  [ТС]
Тогда пробовал)
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
11.05.2017, 22:37
Цитата Сообщение от pvkmilkkgd Посмотреть сообщение
Тогда пробовал)
и чем он не подошел?
0
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17
11.05.2017, 22:44  [ТС]
Ну получается что находя такие записи (предположим что их всего две), он выводит в одну строку: Field1, Field2 первого совпадения и все столбцы второго совпадения. А надо чтобы все столбцы первого и второго совпадений друг под другом
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
11.05.2017, 22:49
Лучший ответ Сообщение было отмечено pvkmilkkgd как решение

Решение

Цитата Сообщение от pvkmilkkgd Посмотреть сообщение
Field1, Field2 первого совпадения и все столбцы второго совпадения
не понял. Если смущают первые два поля, уберите их из запроса вовсе. Ну и сортировку добавьте.

T-SQL
1
2
3
4
5
6
7
8
SELECT t.* 
FROM (
  SELECT Field1, Field2 
  FROM FuckingTable 
  GROUP BY  Field1, Field2
  HAVING COUNT(*) > 1
) f LEFT JOIN FuckingTable t ON f.Field1 = t.Field1 AND f.Field2 = t.Field2
ORDER BY  t.Field1, t.Field2
1
1 / 1 / 1
Регистрация: 24.03.2017
Сообщений: 17
11.05.2017, 23:05  [ТС]
Не знал вот такую элементарщину как "t.*", и как она работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2017, 23:05
Помогаю со студенческими работами здесь

Нахождение одинаковых строк в двух файлах и вывод результата в третий файл
Помогите пожалуйста. Есть два тестовых файла, которые содержат строки (файлы большие, по 60k строк в каждом). Задача сравнить эти два...

При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются
При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются

Линкование одинаковых полей при выводе html
Доброго времени суток. Если не сложно - подскажите пожалуйста в следующей ситуации. Дана база данных с одной таблицей. В ней два...

Вывести результат о равенстве двух динамических массивов
Написать программу, которая выводит результат о равенстве двух динамических массивов. Функция должна принимать 2 массива, их размеры и...

сформировать новый список записей из двух полей: 1.Фамилия, 2. Год рождения, в который войдут все крестьяне.
Прошу помощи, пожааалуйста, помогите решить задачу.Очень срочно надо. Нужно решить 3-мя способами :массивы, файл типа запись и с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru