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

SQL क्वेरी समायोजन

; WITH valid_positions AS (
  SELECT MMSI
       , Message_ID
       , "Time"
       , Latitude
       , Longitude
  FROM   dbo.DecodedCSVMessages_Staging
  WHERE  Latitude  > 55
  AND    Latitude  < 85
  AND    Longitude > 50
  AND    Longitude < 141
)
, positions AS (
  SELECT MMSI
       , Message_ID
       , "Time"
       , Latitude
       , Longitude
  FROM   dbo.DecodedCSVMessages_Staging
  WHERE  Message_ID IN (1, 3)
  AND    EXISTS (
           SELECT *
           FROM   valid_positions
           WHERE  valid_positions.MMSI = DecodedCSVMessages_Staging.MMSI
         )
)
, details AS (
  SELECT MMSI
       , Ship_Type
       , Vessel_Name
       , Row_Number() OVER (PARTITION BY MMSI ORDER BY "Time" DESC) As row_num
  FROM   dbo.DecodedCSVMessages_Staging
  WHERE  Message_ID = 5
)
SELECT positions.MMSI
     , positions.Message_ID
     , positions."Time"
     , details.Ship_Type
     , details.Vessel_Name
     , positions.Latitude
     , positions.Longitude
FROM   positions
 INNER
  JOIN details
    ON details.MMSI    = positions.MMSI
   AND details.row_num = 1 -- Limit to "latest" ship details per MMSI

अब तीसरे सीटीई का उपयोग किया जा रहा है।

  1. valid_positions :कोई भी किसी भी Message_ID . के लिए रिकॉर्ड जहां निर्देशांक आपके मानदंड के अनुकूल होते हैं 2)
  2. positions :सभी रिकॉर्ड जहां Message_ID बराबर 1 या 3 और संबंधित MMSI . में एक रिकॉर्ड है valid_positions . में
  3. details :पहले से अपरिवर्तित। "नवीनतम" जहाज/पोत विवरण दिखाता है (Message_ID =5)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अपनी आवश्यकताओं के अनुरूप SQL सर्वर मॉनिटरिंग टूल चुनना

  2. STUFF () का उपयोग करके SQL सर्वर में किसी अन्य स्ट्रिंग में स्ट्रिंग कैसे सम्मिलित करें

  3. जांचें कि दिनांक SQL में अतिव्यापी है या नहीं

  4. SQL सर्वर संग्रहीत कार्यविधि में एक डायनेमिक जहाँ क्लॉज़ बनाना

  5. SQL सर्वर से Salesforce.com में बड़े ऑब्जेक्ट डेटा सम्मिलित करना