Ho due tavoli - Cliente e banchettiMySQL ottenere la data prossimo futuro per certa data, a partire dalle date situati in tabella diversa avendo ID comune
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
Il risultato deve essere generato è tale che
1. la data, cioè FUTURO: il più vicino o uguale alla data corrente, che è ulteriormente legato al rispettivo cliente dovrebbe essere filtrati e ordinati in formato indicato negli richiesto Res ult
CURDATE() per il caso attuale è 5.2.2016
FAILED: Query Logic 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
FAILED: Logic Query 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 arg risultato da generare è tale che
2. clienti senza: DATATE dovrebbe anche essere elencati: può essere con un NULL
3. anche le informazioni diverse da DATED nella tabella BANQUET devono essere elencate
AGGIORNATO Risultato Richiesto
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
da dove viene 'pasto' viene? dato che hai cambiato la tua domanda in modo significativo dopo aver ricevuto una risposta, potresti voler inserire una domanda separata per i casi "NULL" e "pasto". – Stidgeon
@Stidgeon Sono stato anche confuso che dovrei chiedere questo nella stessa domanda o in una nuova domanda. Ma ora penso che la nuova domanda sia un buon modo .. – kanudo