CREATE TABLE dbo.vComputer(
Guid VARCHAR(128),
Name VARCHAR(128)
);
GO
INSERT INTO dbo.vcomputer(Guid, name)
VALUES ('333','PC1'),
('222','pc2'),
('111','PC3');
GO
CREATE TABLE dbo.InvInstalledFileDetails(
FileDetailsID INT IDENTITY(1,1),
ResourceGuid varchar(128),
FPath VARCHAR(128),
PrgName VARCHAR(128)
);
GO
INSERT INTO dbo.InvInstalledFileDetails(ResourceGuid, FPath, PrgName)
VALUES
('333','c:\Program files\Java\Programs','java.exe'),
('333','c:\Program files\SQL','sqldb.exe'),
('222','c:\Program files\Java\Programs','java.exe'),
('111','c:\Program files\SQL','sqldb.exe'),
('222','c:\Program files\SQL','sqldb.exe');
GO
SELECT
vc.Guid,
vc.Name,
fd.FileDetailsID,
fd.ResourceGuid,
fd.FPath,
fd.PrgName
FROM
dbo.vComputer vc
INNER JOIN dbo.InvInstalledFileDetails fd
ON (vc.Guid = fd.ResourceGuid)
;
GO
SELECT
vc.Guid,
vc.Name,
fd.FileDetailsID,
fd.ResourceGuid,
fd.FPath,
fd.PrgName
FROM
dbo.vComputer vc
INNER JOIN dbo.InvInstalledFileDetails fd
ON (vc.Guid = fd.ResourceGuid)
WHERE
fd.FPath LIKE 'c:\Program files%\Java\%' AND fd.PrgName = 'java.exe';
GO
SELECT
vc.Guid,
vc.Name,
fd.FileDetailsID,
fd.ResourceGuid,
fd.FPath,
fd.PrgName
FROM
dbo.vComputer vc
INNER JOIN dbo.InvInstalledFileDetails fd
ON (vc.Guid = fd.ResourceGuid)
WHERE
NOT(fd.FPath LIKE 'c:\Program files%\Java\%' AND fd.PrgName = 'java.exe');
GO
DROP TABLE dbo.vComputer;
DROP TABLE dbo.InvInstalledFileDetails;
GO