Mam dwie tabele - Klient BankietoweMySQL dostać najbliższą przyszłość datę do określonej daty, od daty umieszczone w innej tabeli mając wspólny identyfikator
Client Table
----------------------------
ID NAME
1 John
2 Jigar
3 Jiten
----------------------------
Banquet Table
----------------------------
ID CLIENT_ID DATED
1 1 2016.2.3
2 2 2016.2.5
3 2 2016.2.8
4 3 2016.2.6
5 1 2016.2.9
6 2 2016.2.5
7 2 2016.2.8
8 3 2016.2.6
9 1 2016.2.7
----------------------------
:::::::::: **Required Result**
----------------------------
ID NAME DATED
2 Jigar 2016.2.5
3 Jiten 2016.2.6
1 John 2016.2.7
Rezultatem być generowany jest taki, że
1. Date, który jest przyszłość najbliższa lub równa bieżącej daty, która jest dodatkowo związany z danym klientem powinno być filtrowane i uporządkowane w formacie podanym w Wymagane Res zą
CURDATE() w obecnym przypadku jest 5.2.2016
Błędy: Zapytanie logicznego 1
SELECT c.id, c.name, b.dated
FROM client AS c, banquet AS b
WHERE c.id = b.client_id AND b.dated >= CURDATE()
ORDER BY (b.dated - CURDATE());
------------------------------------------- OUTPUT
ID NAME DATED
2 Jigar 2016.2.5
2 Jigar 2016.2.5
3 Jiten 2016.2.6
3 Jiten 2016.2.6
1 John 2016.2.7
2 Jigar 2016.2.8
2 Jigar 2016.2.8
1 John 2016.2.9
Błędy: logicznego Zapytanie 2
SELECT c.id, c.name, b.dated
FROM client AS c, banquet AS b
WHERE b.dated = (
SELECT MIN(b.dated)
FROM banquet as b
WHERE b.client_id = c.id
AND b.dated >= CURDATE()
)
ORDER BY (b.dated - CURDATE());
------------------------------------------- OUTPUT
ID NAME DATED
2 Jigar 2016.2.5
2 Jigar 2016.2.5
3 Jiten 2016.2.6
3 Jiten 2016.2.6
1 John 2016.2.7
UPDATE Bliższe wynik być generowany w taki sposób,
2. klienta bez: Data należy wymienić również może być realizowane z pustym
3. informacje inne niż ZAWARTE w tabeli BANQUET również muszą być wymienione
AKTUALIZACJA wymaganego rezultatu
ID NAME DATED MEAL
2 Jigar 2016.2.5 lunch
3 Jiten 2016.2.6 breakfast
1 John 2016.2.7 dinner
4 Junior - -
5 Master - supper
skąd 'mączka' pochodzi? biorąc pod uwagę, że po udzieleniu odpowiedzi zmieniłeś pytanie w znacznym stopniu, możesz zadać osobne pytanie dotyczące spraw "NULL" i "posiłku". – Stidgeon
@Stidgeon Byłem także zdezorientowany, że powinienem zapytać o to w tym samym pytaniu lub w nowym pytaniu. Ale teraz myślę, że nowe pytanie to dobry sposób .. – kanudo