Задавайте вопросы, мы ответим
Вы не зашли.
SELECT
*
FROM
ocenka ,
student
WHERE
student.group = 1 AND
ocenka.disciplina = 2
Такая ситуация учимся у препода sql на MS Access он этого языка не знает и все задания дает по учебнику,а проверяет методом если это работает у вас на аксесе - знач правильно если нет - то нет.
дал задание создать 2 таблицы студенты(фио,группа,дата приема) и оценки(фио,оценка,дисциплина номер) и выделить из студентов тех где группа 1 и из оценки тех где дисциплина 2.
у меня этот запрос на mysql выводит как положено 2 строчки из созданного мной примера , а на аксесе выводит 4 строчки одним словом дублирует 2 из студенты 2 из оценки.
как мне от этого излишества избавится?
Неактивен
Нужно написать правильный запрос.
А вот на MySQL наговаривать не нужно, он также как и другие СУБД (в том числе MS Access) поддерживает стандарт SQL.
Неактивен
ну а надо чтоб 2 строчки вывел а не 4
точнее столько строк столько сколько удовлетворяет условию без повторов
Отредактированно skutor (13.10.2010 16:00:32)
Неактивен
если нужно получить список оценок студентов группы "1" по дисциплине "2", то можно так
Неактивен
skutor написал:
ну а надо чтоб 2 строчки вывел а не 4
точнее столько строк столько сколько удовлетворяет условию без повторов
Ну так все 4 и удовлетворяют условию, и повторов среди них нет
Посмотрите внимательно на 1 и 4 столбцы.
Неактивен
ну я на mysql так и делал - работает все ок.
а на этом мс аксес выводит дубликаты. в итоге сегодня решили проблему методом inner join правда так и не понял что это значит_))
Неактивен
skutor написал:
ну я на mysql так и делал - работает все ок.
Как оно может работать ок, если выше приведен пример на mysql, выводящий то, что вы называете дубликатами.
skutor написал:
а на этом мс аксес выводит дубликаты. в итоге сегодня решили проблему методом inner join правда так и не понял что это значит_))
В приведенном вами запросе вы использовали прямое произведение таблиц, т.е. для каждой строки первой таблицы выбираются все строчки второй. А inner join это объединение по определенному условию, т.е. для каждой строки первой таблицы выбираются только те строчки из второй которые удовлетворяют условию.
Двумя постами выше avgsoft привел правильный вариант запроса.
Неактивен