我有一個數據庫有16個表,但只有四個與此有關。數據庫跟蹤不同的服務器,服務器信息(CPU,RAM,IP地址等)及其運行的軟件。軟件和機器通過連接表相關。從同一列等於兩個不同的東西的表中選擇?
CREATE TABLE machsoftjt (
mid int(4) NOT NULL,
sid int(4) NOT NULL,
slid int(4) NOT NULL,
notes varchar(255) default NULL,
UNIQUE KEY mid (mid,slid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
中旬是從機臺機器的ID,SID是從包含該軟件的名稱和軟件版本的軟件表格軟件的ID,滑從softlist表(只列出一個表softwarelist ID該軟件正在運行並用於唯一的約束,以便在執行軟件升級時,我沒有用於運行同一軟件的兩個不同版本的一臺機器的條目)。因此,如果我有運行Microsoft Word 2010(sid爲1,滑動爲1)和Adobe Photoshop 5(sid爲2,滑動爲2)的machine1(中間爲1),則表格將具有
mid sid slid
1 1 1
1 2 2
我想從此表中選擇運行Microsoft Word和Adobe Photoshop的所有機器。
SELECT machines.machinename FROM (machines INNER JOIN machsoftjt ON
machines.mid=machsoftjt.mid) INNER JOIN software ON machsoftjt.sid=software.sid
WHERE machsoftjt.slid='1' AND machsoftjt.slid='2'
當我運行此查詢,我沒有得到任何backWhen我運行此查詢,我沒有得到任何回報。我現在很難過,不能拿出任何其他東西。所有的幫助將不勝感激。
請提供機器和軟件的表格佈局。 –