SQL Query Error Joining Tables

The below query I was hoping would ONLY show me criteria if for starters part.character03 = 'Package' along with other criteria, yet it still shows me values within Character03 that are OTHER THAN "Package"

I tried part.character03 = 'PACKAGE' and I get an errors saying:  The data types text and varchar are incompatible in the equal to operator.

Any help is appreciated
SELECT     part.partnum, part.character03, shipdtl.packnum
FROM         shipdtl INNER JOIN
                      part ON shipdtl.partnum = part.partnum
WHERE     (part.character03 LIKE 'PACKAGE') AND (shipdtl.packnum = 221) OR
                      (shipdtl.packnum = 222) OR
                      (shipdtl.packnum = 224)

Open in new window

LVL 2
chrisryhalAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ralmadaCommented:
What about this?
SELECT  part.partnum, 
	part.character03, 
	shipdtl.packnum
FROM    shipdtl 
INNER JOIN part ON shipdtl.partnum = part.partnum
WHERE     (part.character03 LIKE 'PACKAGE') AND (shipdtl.packnum in (221, 222, 224))

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ralmadaCommented:
Btw, From books online, index entry Boolean expressions:

"Comparison operators test whether two expressions are the same. Comparison operators can be used on all expressions except expressions of the text, ntext, or image data types. "

If your character03 column is always (or even usually) under 8000 characters, you might consider to change to a varchar type.  Or you might want to implement two columns, one a smaller description, the other a text column that has long values.  Using the current column.

If not, then you will have to use LIKE or PATINDEX, or cast the values to a varchar (perhaps in a computed column) if you need to do this frequently and not on a really large value.
0
chrisryhalAuthor Commented:
Awesome Thank You!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2005

From novice to tech pro — start learning today.