Исключить повторяющие строки

169
26 августа 2018, 12:10

Мне нужно избавиться от повторяющихся строк в запросе, сам запрос:

SELECT DISTINCT fio_teach,id_domzad
FROM given_homeworks,teachers

Пробовал ставить DISTINCT, но все равно есть повторяющиеся строки.

поля в given_homeworks:

id_domzad , filename , id_teach , id_tgroups , id_spec, time , date , dz_theme

В teachers: id_teach, fio_teach

Мне в данном запросе выводит всех учителей и они повторяются много раз, а мне нужно чтобы каждый учитель вывелся один раз и его домашние задания

Answer 1

Пример: https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=c28a1abddd08896f9d25c602dfa7a939

create table `given_homeworks`
(
   `id_domzad` int NOT NULL, 
   `filename` varchar(500) NOT NULL, 
   `id_teach` int NOT NULL, 
   `id_tgroups` int NOT NULL, 
   `id_spec` int NOT NULL, 
   `time` time NOT NULL, 
   `date` date NOT NULL, 
   `dz_theme` varchar(500) NOT NULL
);
create table `teachers`
(
   id_teach int NOT NULL,
   fio_teach varchar(200) NOT NULL
);
INSERT INTO `teachers` (`id_teach`, `fio_teach`) VALUES 
(1, 'Петров Петр Петрович'),
(2, 'Иванов Иван Иванович'),
(3, 'Сидоров Сидор Сидорович'),
(4, 'Алексеев Алексей Алексеевич')
;
INSERT INTO `given_homeworks` (`id_domzad`,`filename`,`id_teach`,`id_tgroups`,`id_spec`,`time`,`date`,`dz_theme`) VALUES 
(1,'Наименование файла 1',1,-1,-100,'10:12','2018-07-06', 'Тема 1'),
(2,'Наименование файла 2',1,-1,-100,'10:12','2018-07-06', 'Тема 2'),
(3,'Наименование файла 3',1,-1,-100,'10:12','2018-07-06', 'Тема 3'),
(4,'Наименование файла 4',2,-1,-100,'10:12','2018-07-06', 'Тема 4'),
(5,'Наименование файла 5',3,-1,-100,'10:12','2018-07-06', 'Тема 5'),
(6,'Наименование файла 6',3,-1,-100,'10:12','2018-07-06', 'Тема 6')
;
select distinct t.`fio_teach` from `given_homeworks` as gh join `teachers` as t on gh.`id_teach` = t.`id_teach`
| fio_teach                                    |
| :------------------------------------------- |
| Петров Петр Петрович       |
| Иванов Иван Иванович       |
| Сидоров Сидор Сидорович |
READ ALSO
КАК С ПОМОЩЬЮ SELECT - а найти первые 15 `String` и

КАК С ПОМОЩЬЮ SELECT - а найти первые 15 `String` и

Есть таблица, в которой есть раздел text, в нем написано допустим " Hello my name is

155
Откат транзакций, javaee

Откат транзакций, javaee

Возник вопрос на счет отката транзакций, допустим в сервлетеДопустим, есть следующая ситуация:

208
Правило написания html-тега

Правило написания html-тега

Вопрос звучит странно, я сейчас все объясню

181
Подключение шрифтов. Анонимайзер

Подключение шрифтов. Анонимайзер

Всем привет, подключил шрифт 4 форматов на сайте perfectpicru, все работает, Но если захожу с анонимайзера http://cameleo

161