我正在写一个应用程序,帮助用户之间的图书交换。
我正在使用php和mysql,我对它们都很陌生。
我有5个表,3个数据表和2个服务表:
用户:具有用户属性(用户id、姓名、出生…等等)。
图书:具有图书属性(图书ID、名称、作者、出版商…等等)。
复制:表示书籍的实际副本(复制ID、条件、注释…等等)。
user_copy:描述哪个用户持有哪个副本,由userid和copyid组成。
copy_book:表示copy和book的连接,由copyID和bookID组成
我的问题是:
对于获取
用户持有的每个副本的图书属性和副本属性?
最佳答案
您需要内部联接您感兴趣的所有表:book、copy、user_copy和copy_book。返回用户持有的所有副本属性的select语句可能如下所示:
SELECT B.bookID
, B.name
, B.author
, B.publisher
, C.condition
, C.comments
-- you may get other fields that you are interested in here..
FROM book B
INNER JOIN copy_book CB ON B.bookID = CB.bookID
INNER JOIN user_copy UC ON UC.copyID = CB.copyID
INNER JOIN copy C ON C.copyID = UC.copyID
WHERE UC.userID = <the user Id that you want>
我希望这份声明很清楚,但是如果你有任何问题,请问。
关于php - 如何编写这5个表的SQL查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1381131/