?
Solved

Ambiguous column name

Posted on 2004-08-10
6
Medium Priority
?
1,459 Views
Last Modified: 2008-01-09
I have a coloum called OBCUSD within a table and when ever i run a sum on this coloum i get a "Ambiguous column name" error appear.

A: what is this
B: how can i over come it? I tried to do a SELECT OBCUSD AS 'OTHER_NAME' But this did not work for the query that i want and then it want me to group By this field

willa
0
Comment
Question by:willa666
6 Comments
 
LVL 39

Expert Comment

by:appari
ID: 11760312

can you post the query you were trying to execute?
0
 
LVL 26

Accepted Solution

by:
Hilaire earned 500 total points
ID: 11760342
Most likely your query performs a select using JOINs on several tables
The "Ambiguous columnn name" error means that the column name can be found in several tables, so you have to use more qualified names, either using the table name as a prefix, or an alias if you use some

SELECT YOURTABLE.OBCUSD , .....
or

SELECT a.OBSCUSD, ......
FROM YOURTABLE a INNER JOIN ....
0
 

Expert Comment

by:candelaboy
ID: 11760393
please paste your sql query.
0
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!

 
LVL 5

Expert Comment

by:amit1978
ID: 11760611
Hello willa,

This error occure if an query haveing coloumn of same name (weather ur useing thous column in query or not) in two different table and table name or alins is not prefix with that column.

what u have to specify the table name before the column name.

amit

0
 
LVL 1

Expert Comment

by:dacz
ID: 11760938
i think amit1978 is right.
0
 
LVL 1

Expert Comment

by:jasonwisdom
ID: 11763530
This happens when two returned fields have the same name.  For example,

SELECT a.id, a.name, b.id, b.name
FROM users a, addresses b
WHERE b.id=a.id

You'll still get two duplicate sets of columns, two each of "id" and "name".

Much better is to include AS clauses, for example this:

SELECT a.id AS userid, a.name AS username, b.id AS addressid, b.name AS addressname
FROM users a, addresses b
WHERE b.id=a.id

Using an AS identifier is called using an alias.

Moreso than specifying (tablename).(fieldname), you should re-alias your returned fields so your recordset, datareader, etc. knows what to grab when it's specifying a column by name.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

In part one, we reviewed the prerequisites required for installing SQL Server vNext. In this part we will explore how to install Microsoft's SQL Server on Ubuntu 16.04.
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

571 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