Reputation:
I want to query all the Christmas that are Handmade but instead I'm getting all Christmas values.
SELECT * FROM PRODUCT WHERE PROD_CAT = 'Christmas' OR SEC_CAT = 'Christmas'
AND SUB_CAT = 'Handmade' OR SEC_SUB_CAT = 'Handmade'
How can I get all Handmade from Christmas?
Upvotes: 0
Views: 43
Reputation: 521914
On certain versions of SQL we could simplify your query even further to this:
SELECT *
FROM PRODUCT
WHERE 'Christmas' IN (PROD_CAT, SEC_CAT) OR 'Handmade' IN (SUB_CAT, SEC_SUB_CAT);
Upvotes: 0
Reputation: 1171
You just need to put brackets and then you are good to go:
SELECT * FROM PRODUCT WHERE (PROD_CAT = 'Christmas' OR SEC_CAT = 'Christmas')
AND (SUB_CAT = 'Handmade' OR SEC_SUB_CAT = 'Handmade');
Let me know in case of any queries.
Upvotes: 1
Reputation: 2092
You have to use parentheses to make it clear for sql what you want
SELECT * FROM PRODUCT WHERE (PROD_CAT = 'Christmas' OR SEC_CAT = 'Christmas')
AND (SUB_CAT = 'Handmade' OR SEC_SUB_CAT = 'Handmade')
Upvotes: 0
Reputation: 1270341
Use parentheses. I presume you want:
SELECT *
FROM PRODUCT
WHERE (PROD_CAT = 'Christmas' OR SEC_CAT = 'Christmas') AND
(SUB_CAT = 'Handmade' OR SEC_SUB_CAT = 'Handmade');
Upvotes: 0