我的数据库是MySQL。我有4个表,这是结构:
users
---------------------------------
id | user_name | email | password
---------------------------------
tools
-----------------------------
id | tool_name | tool_details
-----------------------------
package
----------------------------------------------
id | package_name | tool_id | price | validity
----------------------------------------------
transaction
-----------------------------------------------
id | user_id | package_id | buy_date | expire_date
-----------------------------------------------
现在,我将users.id作为输入使用,我想知道哪个用户正在使用哪个工具包。输出应该是这样的
user_name | tool_name | tool_details | package_name | price | buy_date | expire_date
我已运行此查询,但使用此查询我不知道如何获取tool_name
SELECT
users.user_name,
transaction.package_id,
transaction.buy_date,
transaction.expiry_date
package.price
FROM
transaction
INNER JOIN
users ON
users.id = transaction.user_id
INNER JOIN
plans ON
transaction.package_id = package.id
答案 0 :(得分:1)
只需添加另一个联接即可引入工具表中的列
SELECT
users.user_name,
transaction.package_id,
transaction.buy_date,
transaction.expiry_date,
package.price,
tools.tool_name
FROM
transaction
INNER JOIN
users ON
users.id = transaction.user_id
INNER JOIN
package ON
transaction.package_id = package.id
INNER JOIN
tools ON
package.tool_id = tools.id