Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
Thread: Subquery issue.
09-08-2013, 05:57 PM #1
- Join Date
- Nov 2007
- Thanked 1 Time in 1 Post
Query: sql = "SELECT * FROM images WHERE ID IN (SELECT jpgId FROM sales WHERE printed = 0)"
I'm getting the following error.
Type mismatch in expression.
09-09-2013, 11:57 PM #2
*PROBABLY* this means that jpgId in the sales table is not the same data type as id in the images table.
If you had shown the SCHEMA of the two tables, instead of a (mostly useless) data dump I could tell you for sure.
In any case, that's an inefficient way to do that.
SELECT I.* FROM images AS I, sales AS S WHERE I.id = S.jpgid AND S.printed = 0
But that will still give you a type mismatch if ID and jpgId are not the same datatype.
I would *guess* that ID is declared as auto_increment primary key which means that jpgId should be declared as int.
It's also possible that printed is not an int field, which it needs to be if you are going to compare it to the number 0.An optimist sees the glass as half full.
A pessimist sees the glass as half empty.
A realist drinks it no matter how much there is.