Joining two tables giving ambigous column error on mysql

12 views
Skip to first unread message

Sumit Srivastava

unread,
Dec 6, 2012, 11:20:49 PM12/6/12
to rubyonra...@googlegroups.com
Hi,

I am doing a join of two tables with a column with same name in both. I am using "includes" to have a full join. This is giving ambiguous column error. The columns cannot be removed from either of those and renaming any of the two would involve two many changes. So, is there any way this can be resolved?

Regards,
Sumit

Jordon Bedwell

unread,
Dec 6, 2012, 11:24:08 PM12/6/12
to rubyonra...@googlegroups.com
Better context please.

Jim Ruther Nill

unread,
Dec 6, 2012, 11:35:29 PM12/6/12
to rubyonra...@googlegroups.com
On Fri, Dec 7, 2012 at 12:20 PM, Sumit Srivastava <sumit.the...@gmail.com> wrote:
Hi,

I am doing a join of two tables with a column with same name in both. I am using "includes" to have a full join. This is giving ambiguous column error. The columns cannot be removed from either of those and renaming any of the two would involve two many changes. So, is there any way this can be resolved?

try this

Foo.includes(:bar).order('foos.name, bars.name').where('foos.name = ? AND bars.name = ?', 'fooname', 'barname')

just specify the table you are trying to access.
 

Regards,
Sumit

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/jq7KYxfa_9cJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
-------------------------------------------------------------
visit my blog at http://jimlabs.heroku.com

sumit srivastava

unread,
Dec 6, 2012, 11:37:39 PM12/6/12
to rubyonra...@googlegroups.com

Table 1:
id, name, email, ip_address

Table 2:
id, order_name, ip_address

When I am joining these two tables. I receive ambiguous column error.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.

sumit srivastava

unread,
Dec 7, 2012, 12:59:22 AM12/7/12
to rubyonra...@googlegroups.com
Thanks. Got it fixed.

Regards
Sumit Srivastava

The power of imagination makes us infinite...

sumit srivastava

unread,
Dec 7, 2012, 2:17:42 AM12/7/12
to rubyonra...@googlegroups.com
On 7 December 2012 10:05, Jim Ruther Nill <jvn...@gmail.com> wrote:



On Fri, Dec 7, 2012 at 12:20 PM, Sumit Srivastava <sumit.the...@gmail.com> wrote:
Hi,

I am doing a join of two tables with a column with same name in both. I am using "includes" to have a full join. This is giving ambiguous column error. The columns cannot be removed from either of those and renaming any of the two would involve two many changes. So, is there any way this can be resolved?

try this

Foo.includes(:bar).order('foos.name, bars.name').where('foos.name = ? AND bars.name = ?', 'fooname', 'barname')

just specify the table you are trying to access.

How to write test cases for such errors? Is it possible?

 

Jim Ruther Nill

unread,
Dec 7, 2012, 2:27:47 AM12/7/12
to rubyonra...@googlegroups.com
On Fri, Dec 7, 2012 at 3:17 PM, sumit srivastava <sumit.the...@gmail.com> wrote:
On 7 December 2012 10:05, Jim Ruther Nill <jvn...@gmail.com> wrote:



On Fri, Dec 7, 2012 at 12:20 PM, Sumit Srivastava <sumit.the...@gmail.com> wrote:
Hi,

I am doing a join of two tables with a column with same name in both. I am using "includes" to have a full join. This is giving ambiguous column error. The columns cannot be removed from either of those and renaming any of the two would involve two many changes. So, is there any way this can be resolved?

try this

Foo.includes(:bar).order('foos.name, bars.name').where('foos.name = ? AND bars.name = ?', 'fooname', 'barname')

just specify the table you are trying to access.

How to write test cases for such errors? Is it possible?

If you're going to ask me, I personally think that this specific error should not be written a test case.
In the first place, the code will not run if there is such an error so that code shouldn't be committed.
 

 
 

Regards,
Sumit

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/jq7KYxfa_9cJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
-------------------------------------------------------------
visit my blog at http://jimlabs.heroku.com

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

tamouse mailing lists

unread,
Dec 7, 2012, 8:53:31 AM12/7/12
to rubyonra...@googlegroups.com
On Fri, Dec 7, 2012 at 1:27 AM, Jim Ruther Nill <jvn...@gmail.com> wrote:
> On Fri, Dec 7, 2012 at 3:17 PM, sumit srivastava
> <sumit.the...@gmail.com> wrote:
>>
>> On 7 December 2012 10:05, Jim Ruther Nill <jvn...@gmail.com> wrote:
>>> On Fri, Dec 7, 2012 at 12:20 PM, Sumit Srivastava
>>> <sumit.the...@gmail.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am doing a join of two tables with a column with same name in both. I
>>>> am using "includes" to have a full join. This is giving ambiguous column
>>>> error. The columns cannot be removed from either of those and renaming any
>>>> of the two would involve two many changes. So, is there any way this can be
>>>> resolved?
>>>
>>>
>>> try this
>>>
>>> Foo.includes(:bar).order('foos.name, bars.name').where('foos.name = ? AND
>>> bars.name = ?', 'fooname', 'barname')
>>>
>>> just specify the table you are trying to access.
>>
>>
>> How to write test cases for such errors? Is it possible?
>
>
> If you're going to ask me, I personally think that this specific error
> should not be written a test case.
> In the first place, the code will not run if there is such an error so that
> code shouldn't be committed.

Well, no, that's not really the test you want to write.

The test to write is (before you've implemented the (bad?) code) one
that will compare a given initial condition (setting test data in
tables) will return the expected value (a data set with the combined
tables). Often writing the test will enable you to determine how to
write the code, and foresee potential problems.
Reply all
Reply to author
Forward
0 new messages