Reputation: 1
Can somebody tell me why i get an error message about Left Join? Thanks!
SELECT
PROD_ID,
OUTLET_ID,
ORDER_NO,
DATE_ID_DLVRY,
ORDER_QTY,
ORDER_QTY_BOOKED,
ORDER_POS_STATUS
FROM
`v135-5203-bq-td-sync.epviews.v_orders`
WHERE
DATE_ID BETWEEN "2021-10-01"
AND "2021-10-03"
LEFT JOIN (
SELECT
OUTLET_ID,
PROD_ID,
ORD_NO,
BOOKING_DATE_ID,
SUM(PURCH_QTY),
DATE_ID
FROM
`v135-5203-bq-td-sync.epviews.v_purch` )
ON
`v135-5203-bq-td-sync.epviews.v_orders`.DATE_ID = `v135-5203-bq-td-sync.epviews.v_purch`.DATE_ID
WHERE
DATE_ID BETWEEN "2021-10-01"
AND "2021-10-03"
Upvotes: 0
Views: 116
Reputation: 1375
You could try the code below. I moved the WHERE
clause inside JOIN
to avoid filtering unnecessary fields in the query. Also I removed the SELECT
statement inside the LEFT JOIN
statement since it will cause an unexpected SELECT
statement error. (I just modified the table name for simplicity sake of my replication)
Working Query:
SELECT
PROD_ID,
OUTLET_ID,
ORDER_NO,
DATE_ID_DLVRY,
ORDER_QTY,
ORDER_QTY_BOOKED,
ORDER_POS_STATUS
FROM
v_orders
LEFT JOIN
v_purch
ON
v_orders.date_id = v_purch.date_id
WHERE
v_purch.date_id BETWEEN "2021-10-01"
AND "2021-10-03"
Upvotes: 1