Kayleigh
Member
- Local time
- Today, 19:01
- Joined
- Sep 24, 2020
- Messages
- 709
Hi,
I have a dilemma regarding writing SQL for a query.
I am attempting to find all records which contain NULL values for the 'required' fields. Complication arises where one field may be null if another field has value 2. Have tried various combinations of AND/OR statements, as well as an IIF expression but can't get the desired results.
Thinking that it may be best to be done as two queries but not sure how to split it.
See current SQL below.
I have a dilemma regarding writing SQL for a query.
I am attempting to find all records which contain NULL values for the 'required' fields. Complication arises where one field may be null if another field has value 2. Have tried various combinations of AND/OR statements, as well as an IIF expression but can't get the desired results.
Thinking that it may be best to be done as two queries but not sure how to split it.
See current SQL below.
SQL:
SELECT tblClients.fldClientID, tblAddress.fldAddressID, tblOrders.fldOrderID, IIf(([fldCTradeRetailID]<>2) And (IsNull([fldCBusiness])),"Yes","No") AS Validate, tblClients.fldCFirstName, tblClients.fldCLastName, tblClients.fldCAddress1, tblClients.fldCStreet, tblClients.fldCCity, tblClients.fldCPostcode, tblClients.fldCPhone1, tblClients.fldCEmail1, tblClients.fldCHDYHAUID, tblAddress.fldAAddress1, tblAddress.fldAStreet, tblAddress.fldACity, tblAddress.fldAPostcode, tblOrders.fldOSupplyFitID, tblOrders.fldOCompanyID, tblOrders.fldOJobDescription, tblOrders.fldOSurveyYN, tblOrders.fldOStatusID
FROM tblClients INNER JOIN (tblAddress INNER JOIN tblOrders ON tblAddress.fldAddressID = tblOrders.fldOAddressID) ON tblClients.fldClientID = tblAddress.fldAClientID
WHERE (((IIf(([fldCTradeRetailID]<>2) And (IsNull([fldCBusiness])),"Yes","No"))=Yes) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCFirstName) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCLastName) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCAddress1) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCStreet) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCCity) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCPostcode) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCPhone1) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCEmail1) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblClients.fldCHDYHAUID) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblAddress.fldAAddress1) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblAddress.fldAStreet) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblAddress.fldACity) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblAddress.fldAPostcode) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblOrders.fldOSupplyFitID) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblOrders.fldOCompanyID) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblOrders.fldOJobDescription) Is Null) AND ((tblOrders.fldOStatusID)=10)) OR (((tblOrders.fldOSurveyYN) Is Null) AND ((tblOrders.fldOStatusID)=10));