mysql χρησιμοποιούν ποσό και max για να βρείτε το πιο ακριβοπληρωμένος τιμολόγιο

ψήφοι
-1

εγώ προσπαθώ να καταλάβω πώς να πάρει το αποτέλεσμα MAX ποσού των τιμών από ένα τραπέζι για να εμφανίσετε την πιο ακριβοπληρωμένος ποσό της απόδειξης. Επίσης, πρέπει να χρησιμοποιήσετε subselect, αλλά im πάρει σύγχυση. Μέχρι τώρα αυτό το ερώτημα μου παίρνει ό, τι χρειάζομαι εμφανίζεται εκτός από την μέγιστη τιμή. Αυτός είναι ο πίνακας (τιμολόγιο + OD) πρέπει να χρησιμοποιηθεί Αυτό είναι ό, τι είμαι σήμερα να πάρει αυτό είναι αυτό που πρέπει να πάρει

Πού μπορώ να προσθέσω MAX () (του ποσού);

SELECT invoicenumber invoice
     , invoicedate date
     , SUM(orderqty*ordersell) AS 'Invoice Total' 
  FROM invoice 
  JOIN orderdetail 
    ON invoice.invoiceid = orderdetail.invoiceid 
 GROUP 
    BY invoice ;
Δημοσιεύθηκε 07/11/2018 στις 23:43
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
0

Δεν ξέρω αν αυτό είναι κοντά από αυτό που ψάχνετε, αλλά νομίζω ότι αυτό θα μπορούσε να λειτουργήσει (αν κατάλαβα καλά αυτό που προσπαθούμε να επιτύχουμε).

SELECT inv.invoicenumber,
       inv.invoice, 
       inv.invoicedate AS 'Date',
       MAX((SELECT ord.orderqty+ord.ordersell FROM DUAL)) AS 'Invoice Total' 
  FROM invoice inv
  JOIN orderdetail ord
    ON inv.invoice.invoiceid = ord.orderdetail.invoiceid 
 GROUP BY inv.invoice, 
          inv.invoice, 
          inv.invoicedate;
Απαντήθηκε 08/11/2018 στις 00:14
πηγή χρήστη

ψήφοι
0

Μπορείτε να δοκιμάσετε αυτό (προσθέτοντας στην προηγούμενη απάντηση):

SELECT invoicenumber AS invoice
 , invoicedate AS date
 , SUM(orderqty*ordersell) AS 'Invoice Total' 
FROM invoice 
JOIN orderdetail ON invoice.invoiceid = orderdetail.invoiceid 
GROUP BY invoicenumber,invoicedate ORDER BY `Invoice Total` DESC LIMIT 1;

Δεν μπορεί να είναι πολύ αποτελεσματική, αλλά επιστρέφει μόνο το υψηλότερο αποτέλεσμα.

Απαντήθηκε 08/11/2018 στις 00:08
πηγή χρήστη

ψήφοι
0

Εάν χρησιμοποιείτε SUM ή MAX στο SELECT, θα πρέπει να GROUP BY άλλες στήλες:

SELECT invoicenumber AS invoice
 , invoicedate AS date
 , SUM(orderqty*ordersell) AS 'Invoice Total' 
FROM invoice 
JOIN orderdetail ON invoice.invoiceid = orderdetail.invoiceid 
GROUP BY invoicenumber,invoicedate;
Απαντήθηκε 07/11/2018 στις 23:48
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more