sql - Conversion failing when changing join constraint from list of varchars to subquery -
i'm trying update procedure run switching out list of static varchars within in
statement (which in join condition) use subquery instead. however, i'm getting error saying conversion failed when converting varchar value 'normal' data type int.
i know means somewhere in query i'm trying convert value 'normal' int, in query there's not place should int - it's varchar or datetime, , subquery returns same values former static list of varchars. furthermore, there's not place anywhere in dataset value "normal", confuses me.
has else dealt before?
edit:
here's code (reduced show pieces causing error):
select * #temptable left join dbo.v_lookup_assumptions assumptions on case when group3 in --('value1', 'value2', 'value3') (select lookupdetail_name lookupdetail) group3 else group2 end =assumptions.sector2 , asofdate between assumptions.startdate , assumptions.enddate , shortname = assumptions.assumptionshortname
i can comment out subquery , uncomment list of values , works. also, if don't run "shortname" constraint when i'm using subquery, works (though doesn't give expected results, might expect). join constraints either varchar or date.
in addition, added 'normal' list of static values , ran expected. updated subquery select 'value1' lookupdetail
, failed.
edit2:
, makes no sense, if limit original #temptable
2080 records, new subquery syntax works. however, if let go 2081 records fails - regardless of dataset. in other words, change dates around different data each time through , limit #temptable
2080 records, new syntax works fine. change 2081 records , fails. if run through 2081 record dataset , filter clause, can every row in 2081 record display long it's not 2081 @ same time.
it turns out execution plan changing when total number of records exceed 2080, , implicitly converting varchar field int. grabbed xml query plan small dataset sql server profiler , forced larger dataset query use option (use plan '<insert xml query plan here />')
.
Comments
Post a Comment