powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как при объединение таблиц сделать выборку по нескольким условиям?
2 сообщений из 2, страница 1 из 1
Как при объединение таблиц сделать выборку по нескольким условиям?
    #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
Как при объединение таблиц сделать выборку по нескольким условиям?
    #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
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как при объединение таблиц сделать выборку по нескольким условиям?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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