[英]SQL - Select between 3 tables
我有 3 张桌子:
hosts (host_id, name, address, template_id);
hostgroup (hostgroup_id, name);
hosts_hostgroup (a, b);
第一张表保存所有主机,第二张表保存所有组,最后一张表示每个主机属于哪个组。
请注意, hosts_hostgroup
有两个不同的列名a
和b
。
哪个是向我提供属于某个组的主机的查询?
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.