从 MySQL 子查询中选择多个列
在 MySQL 中,使用子查询从同一个表中检索多个列可能具有挑战性。为了解决这个问题,让我们探索不同的方法:
使用虚拟表
您可以使用子查询创建虚拟表,而不是创建多个子查询。此方法的语法为:
SELECT * FROM (SELECT col1, col2, ... FROM original_table) AS virtual_table
通过在联接中使用此虚拟表,您可以在单个查询中从指定表中检索多个列。
代码示例:
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN ( SELECT id, translation AS trans, language AS lang, attribute FROM attributeTranslation ) AS b ON (a.id = b.attribute AND b.lang = 1)
使用 JOIN 语法
另一种选择是使用 JOIN 语法来组合多个表,包括原始表和虚拟表。这种方法允许您从连接的表中检索多列。
代码示例:
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN attributeTranslation b ON (a.id = b.attribute AND b.lang = 1)
以上是如何从 MySQL 子查询中检索多个列:虚拟表与 JOIN 语法?的详细内容。更多信息请关注PHP中文网其他相关文章!