Here is my SQL code.
I used subquery and labeled it, but when I call column from that subquery, it shows that as invalid identifier.
x
SELECT TSR.Merchant_id, denomination, SUM (no_of_cards)
FROM sales_details
WHERE invoice_id IN (
SELECT invoice_id
FROM sales_header TSR
WHERE entered_by = (
(SELECT account_code
FROM bk_dsr_account_codes
WHERE user_name = 'C'
AND PASSWORD = 'D'
AND mobile_no = '8994035090213391259'))
AND entered_date BETWEEN (TO_DATE ('2013/04/01', 'yyyy/mm/dd')
)
AND (TO_DATE ('2013/06/30', 'yyyy/mm/dd')
))
GROUP BY denomination
error as per below
ORA-00904: "TSR"."MERCHANT_ID": invalid identifier
Please help me to sort out this issue. I need to call subquery’s columns also in my final SQL view.
Advertisement
Answer
You can only use colums that are in your FROM
clause. So, your query should be something like:
SELECT TSR.Merchant_id, SD.denomination, SUM (SD.no_of_cards)
FROM sales_details SD
JOIN sales_header TSR on SD.invoice_od = TSR.invoice_id
WHERE entered_by = (
(SELECT account_code
FROM bk_dsr_account_codes
WHERE user_name = 'C'
AND PASSWORD = 'D'
AND mobile_no = '8994035090213391259'))
AND entered_date BETWEEN (TO_DATE ('2013/04/01', 'yyyy/mm/dd')
)
AND (TO_DATE ('2013/06/30', 'yyyy/mm/dd')
)
GROUP BY SD.denomination