繁体   English   中英

SQL - Select 在 3 个表之间

[英]SQL - Select between 3 tables

我有 3 张桌子:

hosts (host_id, name, address, template_id);
hostgroup (hostgroup_id, name);
hosts_hostgroup (a, b);

第一张表保存所有主机,第二张表保存所有组,最后一张表示每个主机属于哪个组。

请注意, hosts_hostgroup有两个不同的列名ab

哪个是向我提供属于某个组的主机的查询?

SELECT hosts.* FROM hosts
INNER JOIN hosts_hostgroup ON hosts.host_id=hosts_hostgroup.a
WHERE hosts_hostgroup.b=(some id);
SELECT h.*
FROM hosts h 
INNER JOIN hosts_hostgroup hg ON hg.host_id = h.host_id
INNER JOIN hostgroup g ON g.hostgroup_id = hg.hostgroup_id
WHERE g.name = 'mygroupname'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM