mariano / node-db-mysql

MySQL database bindings for Node.js
http://nodejsdb.org
150 stars 30 forks source link

Problem handling result of join #81

Open bitliner opened 12 years ago

bitliner commented 12 years ago

I have 2 tables: A(id,name) and B(id,name,a) with a foreign key from B.a towards A.id

But I have a problem with the result of query like this: SELECT * FROM A AS A, B AS B WHERE A.id=B.a

The problem is conflict between A.name and B.name, infact in the result i get only B.name, while there isn't in the result A.name.

bitliner commented 12 years ago

Any suggestion/help?

qraynaud commented 12 years ago

Try using a proper join syntax for starters :

SELECT *
FROM `LongA` AS A
JOIN `LongB` AS B
ON (`A`.`id` = `B`.`a`).

You should use the join() method to achieve that properly... That might look like :

db.query()
  .select('*')
  .from({A: 'LongA'})
  .join({table: 'LongB', alias: 'B', conditions: 'A.id = B.a'})
  .execute(callback, options);

Don't forget to try your requests on the mysql client before. It might not be node-db-mysql related here.