Hi Peter, Currently the query result returned by node-sqlite3 has the rows formatted into objects all ready. Given SQL `SELECT foo.*, bar.* FROM foo JOIN bar`, the columns of foo and bar collide with each other. I've already sent a PR https://github.com/mapbox/node-sqlite3/pull/932 <https://github.com/mapbox/node-sqlite3/pull/932> to node-sqlite3 to allow a different result structure that keeps the rows untouched and returns fields along with rows.
However, when the SQL contains table aliases, such as `SELECT foo.*, bar.* FROM egg AS foo JOIN egg AS bar ON foo.id <http://foo.id/> = bar.parent_id`, there's no way to return the fields correctly since `sqlite_column_table_name()` returns the actual table name rather than the alias. The link I attached in previous post is a discussion that took place 4 years ago. OP suggests a new function called `sqlite_column_table_alias_name()` to return the table alias instead of actual name. A patch is attached to implement this function. The major change is in `columnTypeImpl` of `src/select.c`: @@ -105364,6 +105386,7 @@ if( j<pTabList->nSrc ){ pTab = pTabList->a[j].pTab; pS = pTabList->a[j].pSelect; + zTableAlias = pTabList->a[j].zAlias?pTabList->a[j].zAlias:pTabList->a[j].zName; }else{ pNC = pNC->pNext; } Source: http://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-users/2014-November/056388.html <http://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-users/2014-November/056388.html> Jake _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users