У меня есть две таблицы.SQL «прикованные» запросы?
Я новичок в SQL. Использование mysql на данный момент. У меня есть следующая настройка для связанного со школой db:
В таблице A содержатся записи студентов. Идентификатор студента, пароль, имя, фамилия и т. Д.
В таблице B содержатся записи о посещаемости занятий. Каждая запись звучит так: дата, студент id, класс
Мне нужно собрать всю студенческую информацию о студентах, которые посещали занятия в определенном диапазоне дат.
Теперь, глупый способ будет
первый я
SELECT all classes from Table B with DATE IN BETWEEN the range
то для каждого класса, я получаю удостоверение личности студента и
SELECT * FROM students WHERE id = student id
То, что я не могу оберните мой разум вокруг умным способом. Как это сделать только в одном запросе. я терплю неудачу в понимании концепции JOIN, UNION и так далее ...
моя догадка до сих пор
SELECT students.id, students.name, students.lastname
FROM students, classes
WHERE classes.date BETWEEN 20140101 AND 20150101
AND
classes.studentid = students.id
, но это подходящий способ для этого случая?
У вас есть решение? adam_b –
См. это [ссылка] (http://stackoverflow.com/questions/38549/difference-between-inner-and-outer-joins/38578#38578). Кроме того, 'WHERE classes.date BETWEEN AND ' (no 'IN') –
programmer43229
Кроме описанной выше синтаксической ошибки. В чем проблема с запросом? путем объединения двух таблиц, которые вы просто запрашиваете один раз. – TheProvost