이 select 문을 두뇌로 감싸는 데 문제가 있습니다. 데이터는 (I 쉽게 읽을 수 있도록 모든 불필요한 데이터를 잘라 한) 3 개 테이블에서오고있다 :Mysql : 여러 조인 된 테이블에서 특정 데이터 선택
mysql> describe vulnerability;
+---------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+------------------+------+-----+---------+----------------+
| vuln_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| severity | int(10) unsigned | NO | | NULL | |
| host_id | int(10) unsigned | NO | MUL | NULL | |
+---------------+------------------+------+-----+---------+----------------+
mysql> describe cve;
+---------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+----------------+
| cve_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| cve | varchar(15) | NO | | NULL | |
| vuln_id | int(10) unsigned | NO | MUL | NULL | |
| year | int(4) unsigned | YES | | NULL | |
+---------+------------------+------+-----+---------+----------------+
mysql> describe host;
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| host_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| ip_addr | int(10) unsigned | NO | | NULL | |
+--------------+------------------+------+-----+---------+----------------+
내가 출력 심각도가 2009 년보다 적은 취약점이 호스트의 수를 원하는 = 3 해당 연도는 vuln_id FK와 관련된 취약점과 관련된 CVE에 포함되어 있습니다. 이 취약점은 심각도가 있으며 host_id FK를 사용하여 호스트에 연결됩니다. 이것은 나에게 좋은 시작이다 취약점이있는 호스트의 총 수 2009보다 이전 버전을 알려줍니다
mysql> select count(distinct ip_addr) from host H
inner join vulnerability V on H.host_id = V.host_id
inner join CVE C on C.vuln_id = V.vuln_id
where V.severity = 3 and C.year < 2009;
+-------------------------+
| count(distinct ip_addr) |
+-------------------------+
| 5071 |
+-------------------------+
: 여기에 지금까지 가지고있는 것입니다. 그러나 나는 한 걸음 더 나아가 50 개 이상의 취약성을 가진 호스트 만 포함시키고 싶다. 어떻게해야할지 모르겠습니다. 호스트 테이블의 각 호스트 항목에는 여러 가지 상응하는 취약점 항목이 있습니다. 내 where 절에 무언가를 추가 할 필요가 있다고 가정하지만, 나는 붙어있다.
미리 감사드립니다. 더 많은 정보가 필요하면 알려주십시오.
를? 감사. – Magicked