i have code. attempting join 3 tables. table names confusing have far:
select bx-book-ratings.isbn, bx-books.title, bx-users.location ,bx-book-ratings.book-rating `bx-book-ratings` inner join `bx-users` on `bx-book-ratings`.user-id=`bx-users`.user-id inner join `bx-books` on `bx-book-ratings`.isbn=`bx-books`.isbn
error: unknown column 'bx' in field list.
any advice or tips appreciated.
a dash character not valid in unescaped identifier.
the quick fix query escape of identifiers (table names , column names) enclosing them in backticks.
for example:
select `bx-book-ratings`.`isbn` , `bx-books`.`title` , `bx-users`.`location` , `bx-book-ratings`.`book-rating` `bx-book-ratings` join `bx-users` on `bx-book-ratings`.`user-id` = `bx-users`.`user-id` join `bx-books` on `bx-books`.`isbn` = `bx-book-ratings`.`isbn`
you may want consider avoiding using dash character in identifiers. (renaming tables , columns.) underscore character commonly used separator. recommend consider assigning short table alias in query, , qualifying column references alias.
for example:
select r.isbn , b.title , u.location , r.book_rating bx_book_ratings r join bx_users u on u.user_id = r.user_id join bx_books b on r.isbn = b.isbn
Comments
Post a Comment