Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

आउटपुट में असंबंधित परिणाम?

आपको अपना PS* . डालना होगा और REASON TEXT जहां OR . का उपयोग कर रहे हैं शर्तों को इस तरह कोष्ठक में:

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 = '' )

याद रखें कि AND ऑपरेटर की वरीयता OR . से अधिक है और इन शर्तों को मिलाते समय, कोष्ठकों का उपयोग करना महत्वपूर्ण है ताकि डेटाबेस यह जान सके कि प्रत्येक स्थिति का मूल्यांकन किस क्रम में करना है।

पूरी क्वेरी

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल सीएलआर में संग्रहीत प्रक्रिया

  2. SQL सर्वर ट्रिगर - भाग 2 DDL और लॉगऑन ट्रिगर

  3. लिंक-टू-एसक्यूएल का उपयोग करके एकाधिक रिकॉर्ड जोड़ें

  4. SQL सर्वर 2008 Intellisense समस्या

  5. एक SRID से दूसरे SRID में ज्यामिति का रूपांतरण/प्रोजेक्ट करें