Ho due tabelle clienti e ordini, di seguito è riportata la struttura.MySQL - Seleziona l'ultimo record dalla seconda tabella corrispondente alla prima tabella
Tabella - clienti
- id
- customer_name
Tabella - ordini
- id
- order_id
- customer_id
tabella clienti avere clienti e gli ordini record tavolo hanno ordini effettuati dai clienti,
CUSTOMER_ID nella tabella degli ordini è legata alla id campo della tabella di clienti.
Ora un cliente può avere zero o uno o più ordini, voglio ottenere l'ultimo ordine effettuato solo dai clienti.
quando ho eseguito la seguente query partecipare a una semplice invisibile, restituisce tutti gli ordini dal cliente
SELECT customers.customer_name,orders.order_id FROM orders,customers WHERE orders.customer_id=customers.id
Ho anche provato diverse ENTRA dichiarazioni ma non può ottenere l'ultimo ordine da parte del cliente, voglio ottenere in una query SQL per tutti i clienti.
Grazie in anticipo per il vostro aiuto.
Grazie per la vostra risposta rapida , se order_id è casuale, questo non funzionerebbe, ma questo è il più vicino a quello che sto cercando. – Alyas
L'ho risolto con il seguente; 'SELEZIONA c.customer_name, o.customer_id, o.order_id, o.id DA clienti c ORDINE INTERNO ordini o ON o.id = (ID SELECT FROM ordini WHERE customer_id = c.id ORDER BY id DESC LIMIT 1) ' – Alyas
Sì, non funzionerebbe se order_id fosse casuale, quindi dovresti avere il campo data da cui possiamo ottenere un order_date e trovare l'ultimo ordine – Meherzad