The problem:
I have an inventory table, and a table listing items that are being auctioned off. I want to have an alias field (“isAuction”) to represent whether or not an item with inventory’s stock number is present in the auction items table.
I wrote the following Query:
SELECT FROM inventory AS i
EXISTS(SELECT * FROM auctionitems AS a WHERE a.stockNo = i.stockNo) AS "isAuction"
This does populate “isAuction” field with 1 or 0, as required.
I now add a WHERE condition:
SELECT FROM inventory AS i
EXISTS(SELECT * FROM auctionitems AS a WHERE a.stockNo = i.stockNo) AS "isAuction"
WHERE isAuction = 1
However, when I add a WHERE condition, I get an error:
“#1054 – Unknown column ‘isAuction’ in ‘where clause'”
Two questions:
1) Where did I get it wrong?
2) Is there a better way to solve my problem?
Try
HAVING isAuction = 1.I read somewhere that HAVING is more awake of calculated columns than WHERE.