【发布时间】:2016-12-24 10:46:02
【问题描述】:
在 MySQL 中,我有 2 个表和一个查询,例如:
SELECT t1.id, t1.desc_short, t2.body FROM table1 t1, table2 t2 WHERE t1.desc_short = t2.name AND t1.id = 100321654
table1 包含 Objects,table2 包含它们的字符串名称(table2、table3、...、tableN 是语言表)
我的问题是在 t1 中我有列 'name' 是对象的名称,所以我去 table2 获取它的字符串,并且我在 t1 中还有一个列 'desc' 是对象的描述,它可以也可以在 table2 中找到,但不是同一行。
table1(对象)是这样的:
id | desc_short | desc_long
169461235 | STR_DESC_SHORT1 | STR_DESC_LONG1
Table2 是这样的:
id | name | body
10000 | STR_DESC_SHORT1 | name of object 169461235
10354 | STR_DESC_LONG1 | desc of object 169461235
是否有可能在一个只返回一行的 SQL 查询中捕获一个特定对象的名称和描述?
编辑:添加了表格示例。抱歉,列名令人困惑。因此,在一个返回一行的 SELECT 中,我需要:
id | desc_short | desc_long
169461235 | name of object 169461235 | desc of object 169461235
【问题讨论】:
-
请您修改您的示例,使其更有意义;请举一个表 1 的例子,在你的表 2 例子中,你真的是想给第二行一个与第一行不同的名称和 ID 吗?如果这是正确的,我看不出它们之间的关系。
-
这个措辞似乎是矛盾的“table2包含他们的字符串名称”和“在t1中我有列'name'是对象的名称”
-
对不起那些家伙,谢谢你的帮助。我已经更新了帖子。
标签: mysql