sql >> Database >  >> RDS >> Sqlserver

Niet-gerelateerd resultaat in de uitvoer?

U moet uw PS* en REASON TEXT waarbij OR . wordt gebruikt voorwaarden tussen haakjes als volgt:

where (
      REASON_TEXT = 'Parts Not available (ASC)'
or    REASON_TEXT = 'Parts In Transit (Samsung)'
or    REASON_TEXT = 'Parts Back Ordered (Samsung)'
      )
and   PS1 = 'U' 
and   ( PS2 = 'U' or PS2 = '' )
and   ( PS3 = 'U' or PS3 = '' )
and   ( PS4 = 'U' or PS4 = '' )
and   ( PS5 = 'U' or PS5 = '' )

Onthoud dat AND operator heeft voorrang op OR en bij het combineren van deze voorwaarden is het belangrijk om haakjes te gebruiken, zodat de database weet in welke volgorde elke voorwaarde moet worden geëvalueerd.

Volledige zoekopdracht

SELECT TOP 10000 [Service_order]
      ,[COMPANY]
      ,[PENDING_DAYS]
      ,[SERVICE_TYPE]
      ,[SERVICE_TYPE_TXT]
      ,[STATUS]
      ,[STATUS_TEXT]
      ,[REASON]
      ,[REASON_TEXT]
      ,[ASC code]
      ,[ASC name]
      ,[MODEL]
      ,[INOUTWTY]
      ,[Part_code1]
      ,[PS1]
      ,[confirmation_No1]
      ,[Part_code2]
      ,[PS2]
      ,[SO_NO2]
      ,[Part_code3]
      ,[PS3]
      ,[SO_NO3]
      ,[Part_code4]
      ,[PS4]
      ,[SO_NO4]
      ,[Part_code5]
      ,[PS5]
      ,[SO_NO5]
      ,[Engineer name]
  FROM ['NewLP']
  where (
        REASON_TEXT = 'Parts Not available (ASC)'
  or    REASON_TEXT = 'Parts In Transit (Samsung)'
  or    REASON_TEXT = 'Parts Back Ordered (Samsung)'
        )
  and   PS1 = 'U' 
  and   ( PS2 = 'U' or PS2 = '' )
  and   ( PS3 = 'U' or PS3 = '' )
  and   ( PS4 = 'U' or PS4 = '' )
  and   ( PS5 = 'U' or PS5 = '' )


  1. mysql hiërarchie opslag met grote bomen

  2. CodeIgniter update_batch zonder de vorige gegevens te vervangen, de volgende bijgewerkte waarde wordt door komma's gescheiden als increment

  3. SQL-query om OrderID, transactionID, Status op te halen op basis van transactiestatus die Char . is

  4. Staat MySQL callbacks in C toe zodat ik een melding krijg als er een wijziging plaatsvindt?