?
Solved

SQL Join Query

Posted on 2011-09-30
17
Medium Priority
?
235 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
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
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.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
Suggested Courses

777 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