powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать одинаковые значения из базы
22 сообщений из 22, страница 1 из 1
выбрать одинаковые значения из базы
    #40051507
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть база base с таблицей table и полями N1 N2 N3
N1 N2 N3
10 1 5
10 1 5
10 1 6
20 1 5
20 1 5
30 2 5
30 2 5

нужно отобрать одинаковые значения из поле N1 где поле N2 равно 1 и поле N3 содержит и 5 и 6
должно отобраться:
N1 N2 N3
10 1 5
10 1 6
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051560
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
WITH cte AS
(   SELECT n1, n2
    FROM table
    WHERE n2 = 1 AND n3 IN (5, 6)
    GROUP BY n1, n2
    HAVING COUNT(DISTINCT n3) = 2 )
SELECT n1, n2, 5 FROM cte
UNION ALL
SELECT n1, n2, 6 FROM cte;
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051607
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
а в одну строку это нельзя сделать? - select n1 n2 n3 from table where.........
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051665
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно. Замените переводы строк на пробелы.
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051725
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Код: sql
1.
2.
3.
Dim tb As DataTable
            tb = getdbasetable("select N1,N2,N3 from  table t1 where exists (select 1 from table t2 where t1.N1=t2.N1 and N3 in (5,6));")
            DataGridView1.DataSource = tb



попробовал вот так, но по полю N3 не отбирает только 5 и 6
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051747
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957
попробовал вот так

Запрос неверный.

fiddle
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051781
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
а в чем ошибка?
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051791
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957
в чем ошибка?
Я ж ссылку дал. И там чётко видно, что Ваш запрос выводит не нужный результат, а хрень голимую.

А ошибка очевидная - запрос контролирует наличие хотя бы одной записи, с n3 = 5 или 6, но не контролирует, что присутствуют ОБА значения.
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051802
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
а можно пример , как контролировать оба значения?
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051865
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergg1957

а можно пример , как контролировать оба значения?

"он над нами издевался..." (ц)
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051896
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paver,
Код: sql
1.
2.
3.
Dim tb As DataTable
tb = getdbasetable("select N1,N2,N3 from  table where N2=1 and N3 in(5,6) group by N1,N2 having count(distinkt N3) =2;")
DataGridView1.DataSource = tb



где издивательсто? нужно записать в одну строку, пробую вот так, он выдает ошибку .
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051905
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergg1957,
это в visual basic.net пишется
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051982
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957
пробую вот так, он выдает ошибку
Во-первых, сообщения об ошибках следует читать, а не просто отмечать, что они появились.
Во-вторых, получив сообщение об ошибке от среды или коннектора, нужно озаботиться получением сообщения об ошибке от того, кто её обнаружил - в данном случае от MySQL-сервера.
В третьих, следует проверять свои запросы. ПОБУКВЕННО.
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40051988
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
где ошибка то от MySql сервера не пойму
завтра скрин ошибки в Visual basic.net прикреплю
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052073
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957
где ошибка то от MySql сервера не пойму

https://dev.mysql.com/doc/refman/8.0/en/error-log.html
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052132
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
ну вот я пишу запрос и выдает ошибку см.скрин 01.png
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052133
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957,

Запятая перед словом FROM не нужна.
Называть таблицу table - плохая практика, даже если работает, т.к. это слово из синтаксиса.
Слово where два раза подряд писать не надо, достаточно одного.

А сообщения об ошибках надо публиковать текстом, а не фотографией.
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052141
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

ну вот уже же все исправлено и все равно ошибка.
Код: sql
1.
tb = getdbasetable("select N1,N2,N3 from tabl where N2=1 and N3 in(5,6) group by N1,N2 having count (distinct N3)=2;")



пишет - Ошибка синтаксиса (пропущен оператор) в выражении запроса 'count (distinct N3)=2'
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052146
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) COUNT() - функция, а не процедура, и пробел между именем функции и скобкой недопустим.
2) Ошибка - не MySQL, а VB.Net, а если точнее, так и вовсе от ADO.Net, посему Вы явно ошиблись форумом.
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052499
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

без пробела та же ошибка, ну мне нужен был запрос select, а он из SQL, без этого выражения count(distinct N3)=2 никак нельзя?
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052518
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergg1957
без этого выражения count(distinct N3)=2 никак нельзя?
В этом способе - нет, если в структуре нет уникального индекса по (n1, n2, n3). А его нет...
...
Рейтинг: 0 / 0
выбрать одинаковые значения из базы
    #40052529
sergg1957
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

А как его сделать?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать одинаковые значения из базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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