You are on page 1of 3

Nama : Bayu Anggoro Sakti

Posisi : Backend Developer

1.a

SELECT C.CustID, FirstName +' '+LastName AS Customer_Name

FROM CUSTOMER C

LEFT JOIN ORDER O ON C.CustID = O.CustID

WHERE O.OrderID IS NULL

1.b

Select CustID, Customer_Name, SUM(OrderAmount) AS Total_Order_Amount

SELECT C.CustID, FirstName +' '+LastName AS Customer_Name,

O.OrderAmount

FROM CUSTOMER C

INNER JOIN ORDER O ON C.CustID = O.CustID

) DRV

GROUP BY CustID, Customer_Name

1.c

SELECT C.CustID, FirstName +' '+LastName AS Customer_Name,

OrderDate, OrderAmount

FROM CUSTOMER C

INNER JOIN

SELECT * FROM ORDER O

INNER JOIN

(
SELECT CustID, MAX(OrderAmount) AS max_OrderAmount, max(OrderID) AS OrderID

FROM ORDER O

GROUP BY CustID

) DRV

ON O.OrderID = DRV.OrderID

) DRV2

ON DRV2.CustID = C.CustID

2.a

SELECT DocEntry, DocNum, DocDate, ORDR.CardCode, OCRD.CardName, DocTotal, Comments FROM


ORDR

INNER JOIN OCRD

WHERE ORDR.Comments = "Promo Disc 30% Maret 2021"

2.b

SELECT ORDR.DocNum, ORDR.DocDate, ORDR.CardCode, OCRD.CardName

,ODLN.DocNum, ODLN.DocDat,FROM ODLN

INNER JOIN DLN1 ON ODLN.DocEntry = DLN1.DocEntry

INNER JOIN ORDR ON ORDR.DocEntry = DLN1.BaseEntry

INNER JOIN OCRD ON OCRD.CardCode = ORDR.CardCode

2.c

SELECT ORDR.DocNum, ORDR.DocDate, ORDR.CardCode, OCRD.CardName

,ODLN.DocNum, ODLN.DocDat,DATEDIFF(DAYS, ORDR.DocDate, ODLN.DocDate) as delay FROM ODLN

INNER JOIN DLN1 ON ODLN.DocEntry = DLN1.DocEntry

INNER JOIN ORDR ON ORDR.DocEntry = DLN1.BaseEntry

INNER JOIN OCRD ON OCRD.CardCode = ORDR.CardCode


where DATEDIFF(DAYS, ORDR.DocDate, ODLN.DocDate) > 2

2.d

SELECT RDR1.ItemCode,ItemName, RDR1, Quantity - Qty as Open_QTY FROM

SELECT ItemCode, Quantity FROM RDR1

INNER JOIN

(SELECT ItemCode,count(Quantity) as Qty FROM DLN1 GROUP BY ItemCode) DRV

ON RDR1.ItemCode = DRV.ItemCode

) DRV2

INNER JOIN OITM ON RDR1.ItemCode = OITM.ItemCode

Where Quantity - Qty > 0

You might also like