【发布时间】:2015-03-14 20:18:22
【问题描述】:
我有两个要从中提取信息的表。
假设 table1 有以下列 (id, title, category, sub_category, sub_sub_category)
假设 table2 有以下列 (category_id, category_name)
我有一个 select 语句,到目前为止看起来如下:
SELECT
table1.id,
table1.title,
table2.category_name as Cat1,
table2.category_name as Cat2,
table2.category_name as Cat3
FROM
table1,
table2
INNER JOIN table2 as c1 ON c1.category_id = table1.category
INNER JOIN table2 as c2 ON c2.category_id = table1.sub_category
INNER JOIN table2 as c3 ON c3.category_id = table1.sub_sub_category
WHERE
table1.id = ?
这给了我一个关于 table1.category 是未知列的错误
我也试过
SELECT
table1.id,
table1.title,
table2.category_name as Cat1,
table2.category_name as Cat2,
table2.category_name as Cat3
FROM
table1,
table2
WHERE table1.id = ?
AND table1.category = table2.category_id
AND table1.sub_category = table2.category_id
AND table1.sub_sub_category = table2.category_id
最后一个例子至少给了我我正在寻找的列输出
(table1.id, table1.title, table1.category name, table1.sub_category name...)
因此显示表 2 中的类别名称而不是 ID。我是一名业余编码员,以前不必使用内部连接,但也许这就是我需要做的。我只是不知道如何让它输出我需要的数据。
提前感谢您的时间和考虑。
【问题讨论】:
标签: mysql inner-join multiple-tables