Solved

SQL Statment

Posted on 2010-11-19
5
442 Views
Last Modified: 2012-05-10
What is wrong with this code? i get this error

 System.Data.SqlClient.SqlException: The multi-part identifier "Employee.ID" could not be bound.
SELECT        Employees.title, Employees.firstName, Employees.lastName, Addresses.Line1, Addresses.Line2, Addresses.Line3, Addresses.City, Addresses.Postcode

FROM            Employees INNER JOIN

                         Addresses ON Employees.addressId = Addresses.ID

WHERE        (Employees.ID NOT IN

                             (SELECT        EmployeeID

                               FROM            ExpenceForms))

Open in new window

0
Comment
Question by:aaron-macleod
5 Comments
 
LVL 28

Accepted Solution

by:
sammySeltzer earned 500 total points
ID: 34173971
I think it should be something like this:

SELECT Employees.title, Employees.firstName, Employees.lastName, Addresses.Line1, 
Addresses.Line2, Addresses.Line3, Addresses.City, Addresses.Postcode
FROM   Employees INNER JOIN
                         Addresses ON Employees.addressId = Addresses.ID
WHERE  Employees.ID NOT IN (SELECT ExpenceForms.EmployeeID
                               FROM ExpenceForms)

Open in new window

0
 
LVL 34

Expert Comment

by:Paul MacDonald
ID: 34173985
You have both Employee.ID and EmployeeID.  Are they both present?
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 34174048
your exception has Employee while your query as EmployeeS. do you have a typo?
0
 
LVL 41

Expert Comment

by:ralmada
ID: 34174058
>> The multi-part identifier "Employee.ID" could not be bound.<<
That query doesn't seem to be producing that error. The error is caused because you are trying to use a column named ID from a table called (or aliased) "Employee" (without "s" at the end) . I don't see anywhere in the above query the "Employee.ID" expression.

Anyway, check your column and alias to ensure that they match with your current tables definition.

Also, another way of doing this query is
SELECT  Employees.title, 

	Employees.firstName, 

	Employees.lastName, 

	Addresses.Line1, 

	Addresses.Line2, 

	Addresses.Line3, 

	Addresses.City, 

	Addresses.Postcode

FROM    Employees 

INNER JOIN Addresses ON Employees.addressId = Addresses.ID

INNER JOIN ExpenceForms ON Employees.ID <> ExpenceForms.EmployeeID

Open in new window

0
 
LVL 41

Expert Comment

by:ralmada
ID: 34174063
crap, too late
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Help with SQL Server Stoplist 2 20
datetime in sql 6 29
Help with Sorting Full Text results 2 14
SQL - SP needs a little help 9 22
Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
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 UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

895 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

12 Experts available now in Live!

Get 1:1 Help Now