Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

SQL Join Query

Posted on 2011-09-30
17
Medium Priority
?
239 Views
Last Modified: 2012-05-12
Heyas,

I have double table join. I will give you an outline.

select *
From table1
Inner Join ON table2.column1 = table1.column1
Inner Join ON table3.column5 = table1.column5
This part works fine
where table3.address = 'asdf'
and table1.barcode = '1234'

comments:
table3.address is the column5 in table3
table1.barcode is column7 in table1.

The error I get entering the line:
and table1.barcode = '1234'  
The multi-part identifier "table1.barcode " could not be bound.

Is their workaround for this?

Any assistance would be much appreciated thank you.
0
Comment
Question by:Zack
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 3
  • 2
  • +4
17 Comments
 
LVL 11

Expert Comment

by:David Kroll
ID: 36891532
Are you sure the field is named "barcode" and not "bar code" or something else?
0
 

Author Comment

by:Zack
ID: 36891574
Yes I am sure it's labelled barcode.
0
 
LVL 11

Expert Comment

by:David Kroll
ID: 36891614
Can you run

EXEC sp_help table1

and post the second set of results?
0
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 
LVL 18

Expert Comment

by:sventhan
ID: 36891616
open a new session and try your query again. or, please post describe your table1.
0
 
LVL 18

Expert Comment

by:lludden
ID: 36891619
Can you post the TSQL script to create the tables?
0
 

Author Comment

by:Zack
ID: 36891658
Hi heyas,

Table 1 has many columns 30 in all.

column1 is an ID column1, column5 (address), column7(barcode)

Can't run in any commands at the moment as I cannot to the database just posting this as query.

Thank you.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36891662
<Inner Join ON >

the code, as posted, is missing the table name in the JOIN part

select *
From table1
Inner Join table2 ON table2.column1 = table1.column1
Inner Join table3 ON table3.column5 = table1.column5

Open in new window

0
 

Author Comment

by:Zack
ID: 36891673
Hi Angell,

What do you mean?

Thank you.
0
 

Author Comment

by:Zack
ID: 36891684
The only common column between table3 an table1 in column 5.
0
 

Author Comment

by:Zack
ID: 36891747
Any other takers.

Thx.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36891944
I mean that in the SQL you posted, the TABLE NAME is missing in the JOIN syntax ... between JOIN and ON

you posted:
select *
From table1
Inner Join ON table2.column1 = table1.column1
Inner Join ON table3.column5 = table1.olumn5

I suggested:
select *
From table1
Inner Join table2 ON table2.column1 = table1.column1
Inner Join table3 ON table3.column5 = table1.column5
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 36895113
>>What do you mean?<<
It means your code does not compile.  It is missing code, we need to see the real query.
0
 

Author Comment

by:Zack
ID: 36895453
Hi Acperkins,

Can't to the database from where I am at the moment.
The structure of the code is as follows.

select *
From table1
Inner Join table2 ON table2.column1 = table1.column1 (Correction thanks to angellll)
Inner Join table3 ON table3.column5 = table1.column5
where table3.address = 'asdf'
and table1.barcode = '1234'

The error I get entering the line:
and table1.barcode = '1234'  
The multi-part identifier "table1.barcode " could not be bound.

Thank you.
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 1000 total points
ID: 36895991
you still must not show everything.

one explanation could be that you are using table aliases ...
select *
From table1 t1
Inner Join table2 t2 ON t2.column1 = t1.column1  
Inner Join table3 t3 ON t3.column5 = t1.column5
where t3.address = 'asdf'
and table1.barcode = '1234'   <<< this part would error

fix:
select *
From table1 t1
Inner Join table2 t2 ON t2.column1 = t1.column1  
Inner Join table3 t3 ON t3.column5 = t1.column5
where t3.address = 'asdf'
and t1.barcode = '1234'   <<< this will then work
0
 

Author Comment

by:Zack
ID: 36896029
No I am using in any tables aliases but I will certainly give that a shot and see if it works.

Thank you.
0
 
LVL 23

Expert Comment

by:Racim BOUDJAKDJI
ID: 36896277
@hellworld12345

Your code is not valid TSQL instruction.  Do as angelIII and acperkins suggested.
0
 

Author Closing Comment

by:Zack
ID: 36923609
Yup that worked my apologies for getting back to your earlier I've been out in the mountains i.e. no net access.

Thanks.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
This month, Experts Exchange sat down with resident SQL expert, Jim Horn, for an in-depth look into the makings of a successful career in SQL.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question