Benji
Benji

Reputation: 1

Syntax error: Expected end of input but got keyword LEFT at [14: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

Answers (1)

Nestor
Nestor

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

Related Questions