mysql gebruiken som en max tot de best betaalde factuur vinden

stemmen
-1

ik probeer om erachter te komen hoe de MAX resultaat van een optelling van waarden uit een tafel te krijgen met het oog op de best betaalde bedrag van een ontvangstbewijs te geven. Ik heb ook verondersteld om subselect gebruiken, maar im verward. Tot nu toe deze vraag wordt me alles wat ik nodig weergegeven met uitzondering van de maximale waarde. Dit is de tafel (factuur + OD) moeten worden gebruikt Dit is wat ik ben op dit moment krijgen Dit is wat ik zou moeten krijgen

waar kan ik toevoegen MAX () (of som)?

SELECT invoicenumber invoice
     , invoicedate date
     , SUM(orderqty*ordersell) AS 'Invoice Total' 
  FROM invoice 
  JOIN orderdetail 
    ON invoice.invoiceid = orderdetail.invoiceid 
 GROUP 
    BY invoice ;
De vraag is gesteld op 07/11/2018 om 23:43
bron van user
In andere talen...                            


3 antwoorden

stemmen
0

Ik weet niet of dit is in de buurt van wat u zocht, maar ik denk dat dit zou werken (als ik goed begrepen wat u probeert te bereiken).

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;
antwoordde op 08/11/2018 om 00:14
bron van user

stemmen
0

U kunt deze (toe te voegen aan het vorige antwoord) proberen:

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;

Mag niet te efficiënt zijn, maar geeft alleen het hoogste resultaat.

antwoordde op 08/11/2018 om 00:08
bron van user

stemmen
0

Als u gebruik maakt SUM of MAX in SELECT, moet je GROUP BY andere kolommen:

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;
antwoordde op 07/11/2018 om 23:48
bron van user

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