У меня есть 3 таблицы: работа, запись, выпуск
1 работа может иметь несколько записей и 1 запись появляется только в 1 выпуске
TABLE: работа
+---------+-----------+
| work_id | name |
+---------+-----------+
| 1 | Hello |
| 3 | Luna |
| 4 | Feel good |
| 5 | My self |
+---------+-----------+
ТАБЛИЦА: запись
+---------------------------------------------------------------------+
| recording_id | work_id | release_id | name | is_art | is_vid |
+---------------------------------------------------------------------+
| 45 | 1 | 45 | Hello4 | 1 | 0 |
| 78 | 3 | 67 | Luna5 | 1 | 0 |
| 23 | 5 | 128 | My self (r) | 1 | 0 |
| 95 | 5 | 156 | My self II | 1 | 0 |
| 17 | 4 | 67 | Luna67 | 1 | 0 |
+---------------------------------------------------------------------+
ТАБЛИЦА: выпуск
+--------------------------------------------+
| release_id | name | year | month | day |
+--------------------------------------------+
| 45 | Yo | 1998 | 12 | NULL |
| 67 | Testing | 1967 | 3 | 3 |
| 128 | Maybe | 2018 | 10 | 21 |
| 156 | Again | 2018 | 10 | NULL |
+--------------------------------------------+
В основном, для каждого work
, Я хочу вернуть recording
, где is_art = 1
и is_vid = 0
И где release
является самым старым (самый старый год, месяц и дата). Я мог бы быть, что recording
release
может иметь те же year
, month
и day
. В этом случае, я думаю, мне нужно найти уникальный идентификатор, поэтому плохо go с последним release_id
набором результатов должно выглядеть так:
+---------+---------------------------------------+
| work_id | name | recording_id | name |
+---------+---------------------------------------+
| 1 | Hello | 45 | Hello4 |
| 3 | Luna | 78 | Luna5 |
| 4 | Feel good | 17 | Luna67 |
| 5 | My self | 23 | My self (r)|
+---------+---------------------------------------+
Пока я создал это запрос, но, если честно, как новичок ie, я знаю, что все неправильно. Он возвращает повторяющиеся строки. Я упал, как будто мне нужно использовать group by
и подзапросы, но после 2 дней поиска и тестирования я не могу создать решение ... я схожу с ума
SAMPLE DATA 1
| work_id | work_name | recording_id | release_id | rec_name | year | month | day |
|---------|---------------------|--------------|------------|-----------------------------------------------------|------|-------|-----|
| 201 | Me ha dicho la luna | 253 | 5 | Me ha dicho la luna | 1998 | 4 | 22 |
| 201 | Me ha dicho la luna | 579 | 528 | Me ha dicho la luna (Moonlight Radio Edit) | 1998 | | |
| 201 | Me ha dicho la luna | 580 | 528 | Me ha dicho la luna (Luna llena Ambience Mix) | 1998 | | |
| 201 | Me ha dicho la luna | 581 | 528 | Me ha dicho la luna (Extended Callejuela's Version) | 1998 | | |
| 201 | Me ha dicho la luna | 582 | 528 | Me ha dicho la luna (Stoned Baby Free Version) | 1998 | | |
| 201 | Me ha dicho la luna | 252 | 1 | Me ha dicho la luna (con Chayanne) | 2006 | | |
SAMPLE DATA 2
| work_id | work_name | recording_id | release_id | rec_name | year | month | day |
|---------|------------|--------------|------------|---------------------------------------------------------|------|-------|-----|
| 401 | Si amanece | 397 | 26 | Si amanece | 1978 | 7 | 1 |
| 401 | Si amanece | 634 | 309 | Si amanece | 1978 | 7 | 1 |
| 401 | Si amanece | 396 | 257 | Si amanece (con el Mariachi Oro y Plata de Pepe Chávez) | 1979 | | |
| 401 | Si amanece | 564 | 188 | Si amanece | 2001 | | |
| 401 | Si amanece | 394 | 213 | Si amanece | 2001 | | |
| 401 | Si amanece | 395 | 1 | Si amanece | 2006 | | |
| 401 | Si amanece | 638 | 295 | Si amanece | | | |