-1

次のようなモデルがあります。

author: id, name, lastname
books: id, name, author_id

参加リクエストを行うと:

SELECT author.*, books.*
FROM author
LEFT JOIN books ON books.author_id = author.id

結果セットで列名が何を指しているのか明確ではありません。

私はそれを修正することができます:

SELECT author.*, books.*, author.name as `author_name`, books.name as `book_name`
...

しかし、各フィールドのエイリアスを明示したくありません。私がやりたいことは次のようなものです:

SELECT author.* as `author_.*`, books.* as `books_.*`
...

列があるようにauthor_id, author_name, ..., book_name, ...

しかし、うまくいきません。名前の混乱をどのように回避しますか? 各フィールドにエイリアスを指定する必要がありますか?

4

2 に答える 2

4

ALIAS列にを追加したくない場合の問題に対する最善の解決策は、名前の衝突を避けるために名前を変更することです。

于 2012-10-29T15:42:52.277 に答える
0

出力には、テーブル名ではなく、フィールド名 (またはクエリで指定されたエイリアス) のみが表示されます。「author_name」、「book_name」などのフィールドを持つようにモデルを変更するか、クエリでエイリアスを使用してください。

于 2012-10-29T15:44:12.973 に答える