[MySQL] Wybieranie najmniejszych dat

0

Witam, mam problem z wyselekcjonowaniem danych. Mam dwie tabele, w jednej wykaz zdarzeń, w drugiej terminy tych zdarzeń. Jedno zdarzenie może mieć wiele terminów które zapisane są właśnie w tej drugiej tabeli. Chcę teraz pobrać dane z tabeli na temat najbliższych zdarzeń (bez ich powtarzania ) Tzn. listę zdarzeń
Zdarzenie A data
Zdarzenie B data

stworzyłem takie zapytanie, ale nie wiem jak go dalej sprecyzować tak aby wyświetlał tak jak powyżej

SELECT c.ID, c.name, c.place, c.price, c.trainer_id, c.desc_s, c.desc_l, c.site_id, c.published, c.access, c.groupname, LEAST( d.date_start ) , d.date_end, d.cid
FROM jos_events AS c, jos_events_dates AS d
WHERE c.ID = d.cid
AND c.published = '1'
AND c.access <=0
AND CURRENT_TIMESTAMP <= d.date_end
ORDER BY d.date_start

Teraz wyswietla mi:
Zdarzenie A data_1
Zdarzenie B data_1
Zdarzenie A data_2
Zdarzenie A data_3
Zdarzenie B data_2
... itd.

Proszę o pomoc w sprecyzowaniu zapytania. Może powinienem w jakiś sposób skonstruować zapytania zagnieżdżone?

0

Przydałoby się napisać cos o tych tabelach, podać ich strukture.

0

Pierwsza tabela to ID|Nazwa zdazenia| i inne mało ważne infromacje w tej chwili, druga tabela to ID_dat|Data_start|Data_koniec|ID_zdazenia. Czyli w tabeli drugiej może być wiele dat do jednego zdazenia, czyli rekordów z jakimiś datami i takim samym id_zdazenia,

Chodzi mi o to żeby wybrać poszczególne zdazenia z tabeli i datę_start, datę_koniec dla danego zdazenia która będzie najbliżej aktualnej daty, jeśli zdazenie nie ma przypisanych dat które będą w przyszłości to nie będzie wyświetlane.

Mam nadzieje że coś z tego zrozumiecie;/

0

cos w stylu:

select a.k1, a.k2, min(b.k1) from a inner join b on a.id = b.id
group by k1, k2
0

dzięki już sobie poradziłem!

1 użytkowników online, w tym zalogowanych: 0, gości: 1