Mysql 将多个sql查询合并到一行中
我有一个名为Mysql 将多个sql查询合并到一行中,mysql,sql,select,Mysql,Sql,Select,我有一个名为Platforms的表,其中包含以下列: id、名称、img、模板\u id 另一个名为Templates的表包含以下列: id、tpl_名称、主体 如何选择所有平台,使所有行都具有id、名称、img、模板id、tpl\U名称 template\u id中的Platforms=id中的Templates 我可以用一个查询来完成吗?如果是,调用什么方法 SELECT Platforms.* FROM Platforms INNER JOIN Templates ON Platf
Platforms
的表,其中包含以下列:
- id、名称、img、模板\u id
Templates
的表包含以下列:
- id、tpl_名称、主体
template\u id
中的Platforms
=id
中的Templates
我可以用一个查询来完成吗?如果是,调用什么方法
SELECT Platforms.*
FROM Platforms
INNER JOIN Templates ON Platforms.template_id = Templates.id
如果我没弄错的话,那就可以了。你是说一个简单的
加入
SELECT id, name, img, template_id, tpl_name FROM platforms p
JOIN templates t ON p.template_id=t.id
或者,您可以选择笛卡尔乘积,并使用WHERE
-子句减少结果:
SELECT id, name, img, template_id, tpl_name FROM platforms, templates
WHERE template_id=id
是的,您可以通过一个查询完成,该方法称为“表平台和模板之间的连接”:
从平台p
t.id=p.template\u id上的内部联接模板t
使用一个简单的WHERE进入SELECT查询:
SELECT p.id, p.name, p.img, p.template_id, t.tpl_name
FROM Platforms as p, Templates as t
WHERE p.template_id = t.id;
这里还有一个选择:
SELECT Platforms.id As PlatformId , name, img,
Templates.id as TemplateId, tpl_name
FROM Platforms
INNER JOIN Templates ON Platforms.template_id = Template.id
再看看“两个表之间的WHERE子句”。
SELECT Platforms.id As PlatformId , name, img,
Templates.id as TemplateId, tpl_name
FROM Platforms
INNER JOIN Templates ON Platforms.template_id = Template.id