我有5台是那些:选择要求选择5桌
my_books
表:
- id_book
- 标题
- 价格
- 描述
genre
表:
- id_genre
- 类型(在此列类型描述)
genre_ind
表:
- id_book
- id_genre(表结合体裁和书籍表)
authors
表:
- id_author
- 作者(在本专栏作者姓名)
author_ind
表:
- id_book
- id_author
我需要连接表来按流派ID选择所有图书信息。由于存储在其他表上的作者信息需要根据书籍ID添加作者信息。
尝试这样做,在一个单一的查询,到目前为止,我有以下查询:
SELECT my_books.id_book,
my_books.title,
my_books.price,
my_books.descrip,
a.genre,
s.authors
FROM my_books
LEFT JOIN genre_ind
ON my_books.id_book = genre_ind.id_book
LEFT JOIN genre a
ON genre_ind.id_genre = a.id_genre
LEFT JOIN author_ind
ON books.id_book=author_ind.id_book
LEFT JOIN authors s
ON author_ind.id_author=s.id_author
WHERE author_ind.id_book=my_books.id_book
AND genre_ind.id_genre=%d
我拥有实用的查询,如果我需要根据类型ID从my_books信息选择信息,但后来我尝试扩展它来选择作者信息,它不起作用!
更新:
现在代码一刀看起来是这样的:
SELECT my_books.id_book,
my_books.title,
my_books.price,
my_books.descrip,
a.genre,
s.authors
FROM my_books
LEFT JOIN genre_ind
ON my_books.id_book = genre_ind.id_book
LEFT JOIN genre a
ON genre_ind.id_genre = a.id_genre
LEFT JOIN author_ind
ON my_books.id_book = author_ind.id_book
LEFT JOIN authors s
ON author_ind.id_author = s.id_author
WHERE genre_ind.id_genre=%d
,我得到的错误是:MySQL的:#1054 - 在 '字段列表'
未知列 's.authors'谢谢你的帮助,真的很感谢
好了,问题解决了。非常感谢你的时间和帮助!
正确一刀:
SELECT my_books.id_book,
my_books.title,
my_books.price,
my_books.descrip,
a.genre,
s.author
FROM my_books
LEFT JOIN genre_ind
ON my_books.id_book = genre_ind.id_book
LEFT JOIN genre a
ON genre_ind.id_genre = a.id_genre
LEFT JOIN author_ind
ON my_books.id_book = author_ind.id_book
LEFT JOIN authors s
ON author_ind.id_author = s.id_author
WHERE genre_ind.id_genre=%d
怎么不工作?你能否提供关于错误的更多细节? –
警告:mysql_num_rows():提供的参数不是有效的MySQL结果资源 –
你能尝试删除where子句并检查它的工作吗? – DevelopmentIsMyPassion