【发布时间】:2013-10-24 15:22:19
【问题描述】:
所以,我有两张表,其中一张是这样的:
表:data
和表:catalog
现在,我要做的是从data 表中获取col_1、col_2、col_3 和col_4,而不是获取col_2 和col_3 的值,根据catalogid,这些应替换为catalog 表的col_1。
例如,我希望它为数据表的每一行返回以下信息:
167 |红色 |黄色 |某事1 198 |绿色 |红色 |某事2 253 |黄色 |粉红色 |某事3我试过这个:
SELECT data.col_1, catalog.col_1, catalog.col_1, data.col_4
FROM data
INNER JOIN catalog ON data.col_2 = catalog.id
INNER JOIN catalog ON data.col_3 = catalog.id
但没有效果和惊喜。
我根本找不到如何将一个表的多个列内部连接到另一个表的单个列,Google 并没有提供很大的帮助。我实际上不知道我是否使用正确的关键字进行搜索。
【问题讨论】:
-
您必须使用过时的 google 版本。这是 SQL 101。
catalog的每个实例都需要自己的别名。 -
但是如果
data中的 col 的 id 不存在于catalog中会怎样? -
@Strawberry 也许他使用 Bing。
标签: mysql inner-join