View Full Version : Trying to return specific fields from multiple tables


ctbfalcon
02-10-2008, 08:51 AM
OK so here is a working query:

SELECT Assets.*
FROM Assets
WHERE (((EXISTS
(SELECT *
FROM LCAMdump
WHERE Assets.BarcodeNumber = LCAMdump.T_TAG
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT BuildingName
FROM Building_Names
WHERE ASSETS.BuildingNameID = Building_Names.BuildingNameID)=LCAMdump.BUILDING)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.FLOOR)=[LCAMdump]![FLOOR])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.DeskLocation)=[LCAMdump]![LOCATION_SEGMENT2])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.BuildingLocation)=[LCAMdump]![LOCATION_SEGMENT1])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT FirstName
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_FIRST)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT LastName
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LAST)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT SSO
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.LOGIN_SSO)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT UserID
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LOGIN)
)) =False));

It works great returns the correct results. But I don't need everything out of Assets. I just need a few things from there and a few things from 2 other tables.

I tried this but it now gives back over 220 repeating results.

SELECT Assets.BarcodeNumber ,
Employees.UserID ,
Building_names.BuildingName,
Assets.Floor ,
Assets.BuildingLocation ,
Assets.DeskLocation ,
Employees.FirstName ,
Employees.LastName ,
Employees.SSO
FROM Assets ,
Employees,
Building_Names
WHERE (((EXISTS
(SELECT *
FROM LCAMdump
WHERE Assets.BarcodeNumber = LCAMdump.T_TAG
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT BuildingName
FROM Building_Names
WHERE ASSETS.BuildingNameID = Building_Names.BuildingNameID)=LCAMdump.BUILDING)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.FLOOR)=[LCAMdump]![FLOOR])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.DeskLocation)=[LCAMdump]![LOCATION_SEGMENT2])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((Assets.BuildingLocation)=[LCAMdump]![LOCATION_SEGMENT1])
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT FirstName
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_FIRST)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT LastName
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LAST)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT SSO
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.LOGIN_SSO)
)) =False))
OR (((EXISTS
(SELECT *
FROM LCAMdump
WHERE ((SELECT UserID
FROM Employees
WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LOGIN)
)) =False));

I am sure it something simple but I am a novice at this so please help me. :D

ctbfalcon
02-10-2008, 06:57 PM
ok found my problem

SQL= "" & _
"SELECT Assets.BarcodeNumber , " & _
" Employees.UserID , " & _
" Building_Names.BuildingName, " & _
" Assets.Floor , " & _
" Assets.BuildingLocation , " & _
" Assets.DeskLocation , " & _
" Employees.FirstName , " & _
" Employees.LastName , " & _
" Employees.SSO " & _
"FROM Building_Names " & _
" INNER JOIN (Employees " & _
" INNER JOIN Assets " & _
" ON Employees.EmployeeID = Assets.EmployeeID) " & _
" ON Building_Names.BuildingNameID = Assets.BuildingNameID " & _
"WHERE (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE Assets.BarcodeNumber = LCAMdump.T_TAG " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((SELECT BuildingName " & _
" FROM Building_Names " & _
" WHERE ASSETS.BuildingNameID = Building_Names.BuildingNameID)=LCAMdump.BUILDING) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((Assets.FLOOR)=[LCAMdump]![FLOOR]) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((Assets.DeskLocation)=[LCAMdump]![LOCATION_SEGMENT2]) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((Assets.BuildingLocation)=[LCAMdump]![LOCATION_SEGMENT1]) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((SELECT FirstName " & _
" FROM Employees " & _
" WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_FIRST) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((SELECT LastName " & _
" FROM Employees " & _
" WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LAST) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((SELECT SSO " & _
" FROM Employees " & _
" WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.LOGIN_SSO) " & _
" )) =False)) " & _
" OR (((EXISTS " & _
" (SELECT * " & _
" FROM LCAMdump " & _
" WHERE ((SELECT UserID " & _
" FROM Employees " & _
" WHERE Assets.EmployeeID = Employees.EmployeeID)=LCAMdump.USER_LOGIN) " & _
" )) =False));"