SQL请求相交并存在



我想知道是否可以使用Intersect编写以下请求并存在关键字。我的老师要求我解决一个问题,但我设法这样做。

使用的技术是Oracle。

表:

COMPUTER(id, name, ip, type, room, softwares)
INSTALLATION (id_computer, id_software, installation_date)
SOFTWARE(id, name, purschase_date, version, type, installations)

一些行:

c1, computer 1, 192.168.1.1 UNIX, 3, 5 (COMPUTER TABLE)
c1, s1, 21/11/16 (INSTALLATION TABLE)
s1, Notepad++, 05/04/98, 2.0, UNIX, 3 (SOFTWARE TABLE)

问题是要通过使用InterSect和存在的计算机6" C6"至少安装了一个相同软件的计算机名称。

到目前为止,这是有效的,但没有回答以下问题:

SELECT DISTINCT id_computer
FROM INSTALLATION
WHERE id_software IN (
    SELECT id_software
    FROM INSTALLATION
    WHERE id_computer = 'c6'
) AND id_computer <> 'c6';

感谢您的回答。

尝试此

SELECT DISTINCT id_computer
FROM INSTALLATION bb
WHERE exists (
    SELECT 1
    FROM INSTALLATION aa
    WHERE aa.id_computer = 'c6'
   and aa.id_software=bb.id_software
) AND id_computer <> 'c6';

相关内容

  • 没有找到相关文章

最新更新