Solved

SQL Join Query

Posted on 2011-09-30
17
193 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
  • 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
 
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 142

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
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

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 142

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 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 250 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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Performance is the key factor for any successful data integration project, knowing the type of transformation that you’re using is the first step on optimizing the SSIS flow performance, by utilizing the correct transformation or the design alternat…
Having an SQL database can be a big investment for a small company. Hardware, setup and of course, the price of software all add up to a big bill that some companies may not be able to absorb.  Luckily, there is a free version SQL Express, but does …
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.

706 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now