Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как при объединение таблиц сделать выборку по нескольким условиям? / 2 сообщений из 2, страница 1 из 1
14.10.2016, 00:48
    #39326698
Марк199277
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при объединение таблиц сделать выборку по нескольким условиям?
Добрый день) Подскажите пожалуйста где ошибка:

Условие: есть две таблицы
Столбцы первой:
id
student_id
status
datetime
Столбцы второй:
id
name
surname
gender

Нужно объединить таблицы и вывести имена студентов чей status = vacation, а gender = unknown.
Дело в том что каждому студенту соответствует несколько дат и соответственно статусов. Я написал так:

SELECT surname, name, gender, status, datetime
FROM student, student_status
WHERE student.id = student_status.student_id AND gender = "unknown" AND ((datetime, status) IN (SELECT MAX(datetime) AND status = "vacation") FROM student_status)
ORDER BY surname, name, date time

Выдает ошибку здесь: AND ((datetime, status) IN (SELECT MAX(datetime) AND status = "vacation") FROM student_status)
...
Рейтинг: 0 / 0
14.10.2016, 01:44
    #39326703
Марк199277
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при объединение таблиц сделать выборку по нескольким условиям?
Вот как решил) может есть проще и красивее решение?
SELECT surname, name, gender, status, datetime
FROM student_status, student
WHERE (student_id, datetime) IN
(SELECT student_id, MAX(datetime) FROM student_status
GROUP BY student_id) AND student.id = student_status.student_id AND gender = "unknown" AND status = "vacation"
ORDER BY surname, name, datetime
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как при объединение таблиц сделать выборку по нескольким условиям? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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