Joining two tables giving ambigous column error on mysql

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

Better context please.

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.

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?

Better context please.

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.

Thanks. Got it fixed.

Regards
Sumit Srivastava

The power of imagination makes us infinite…

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

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.