Query opslaan in SSMS

patricw

Gebruiker
Lid geworden
27 mei 2009
Berichten
225
Beste allen,

Ik heb een query die data genereert om later box-plots te maken. Echter als ik onderstaande code opsla en later weer open is het eerste stuk niet opgeslagen. Het niet opgeslagen stuk is :

WITH raw_data AS (

Heeft iemand enig idee waarom dit gebeurt?

groet, Patric

SQL:
WITH raw_data AS (
SELECT [Coatlijn] AS coatlijn, [LCP type] AS lcp_type, [LCP Batch] AS series, [Rchange Core NP-P] AS value
FROM     PW_STN_Stuurwaarden_Preloading_All), details AS
    (SELECT series, value, coatlijn, lcp_type, ROW_NUMBER() OVER (PARTITION BY series
     ORDER BY value) AS row_number, SUM(1) OVER (PARTITION BY series) AS total
FROM     raw_data), quartiles AS
    (SELECT series, value, coatlijn, lcp_type, AVG(CASE WHEN row_number >= (FLOOR(total / 2.0) / 2.0) AND row_number <= (FLOOR(total / 2.0) / 2.0) + 1 THEN value / 1.0 ELSE NULL END) OVER (PARTITION BY series) AS q1,
                       AVG(CASE WHEN row_number >= (total / 2.0) AND row_number <= (total / 2.0) + 1 THEN value / 1.0 ELSE NULL END) OVER (PARTITION BY series) AS median, AVG(CASE WHEN row_number >= (CEILING(total / 2.0) + (FLOOR(total / 2.0)
                       / 2.0)) AND row_number <= (CEILING(total / 2.0) + (FLOOR(total / 2.0) / 2.0) + 1) THEN value / 1.0 ELSE NULL END) OVER (PARTITION BY series) AS q3
     FROM      details)
    SELECT coatlijn, lcp_type, series, MIN(value) AS minimum, AVG(q1) AS q1, AVG(value) AS mean, AVG(q3) AS q3, MAX(value) AS maximum
    FROM     quartiles
    GROUP BY series, coatlijn, lcp_type
 
Laat zich bij mij prima opslaan en ongewijzigd weer openen, met natuurlijk wel invalid object names en Invalid column names.
 
Ik met 18.12. De versie 20.2 heb ik ook maar geeft wat andere issues met bestaande views etc.
 
Geprobeerd met alles selecteren behalve eerste lijn, syntax fouten in expressie te steken, maar ik heb het probleem niet kunnen reproduceren.
Probeer eens met andere queries op te slaan en bekijk of de eerste regel altijd genegeerd wordt.
 
Andere queries gaan wel goed. Het lijkt hiermee te maken te hebben....Helpmij01.png
 
Het gaat dus om een view. Als ik de CTE in een view gebruik dan zorg ik dat de with expressie wordt voorafgegaan door een punt komma ;
De with moet namelijk altijd het eerste teken zijn in de SQL expressie. Met ; begin je een nieuwe expressie.
Je kan dan de view wel niet meer in design view openen.
 
Terug
Bovenaan Onderaan