Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 239
  • Last Modified:

Need some help with a view and default values

Hello,
I have created this view = ViewLieferschein
everything works just fine.
I would like to change that view:
that if  A.Lieferungsbedingungenkurzbezeichnung is "" it should have a default value of "999"
how can I dot this?


This will not work.....?
            A.Lieferungsbedingungenkurzbezeichnung AS Lieferbedingung not null default '999'
             ,convert(nvarchar,C.TextbausteinD) TextbausteinD ,\


------------------------------------------------------------------------------------------------------------------------------------------
 sql.Format("CREATE VIEW ViewLieferschein AS SELECT\
            A.LieferscheinNr, A.VersandName1, A.VersandName2,\
           A.VersandStrassePostfach,CAST(A.VersandPostleitzahl AS VARCHAR(10))AS VersandPostleitzahl,\
           A.VersandOrt,A.VersandLand,A.Lieferscheindatum,\
           A.DebitorenNr, \

            A.Lieferungsbedingungenkurzbezeichnung AS Lieferbedingung  
             ,convert(nvarchar,C.TextbausteinD) TextbausteinD ,\

           A.FakturiertAktiv AS Fakturiert,SUM(B.Einheitbez13wert) AS Gewicht, A.Sachbearbeiter\
           
            FROM Lieferscheine AS A inner join Lieferscheinpositionen AS B\
          ON A.LieferscheinNr=B.LieferscheinNr\

          inner join Textbausteine AS C ON A.Lieferungsbedingungenkurzbezeichnung =C.TextbausteinNr\

          WHERE A.LieferscheinNr>1999999\
          GROUP BY A.LieferscheinNr,A.VersandName1,A.VersandName2,\
          A.VersandStrassePostfach, A.VersandPostleitzahl,\
             A.VersandOrt,A.VersandLand, A.Lieferscheindatum, A.DebitorenNr,\
          A.Lieferungsbedingungenkurzbezeichnung,convert(nvarchar,C.TextbausteinD), A.FakturiertAktiv,
            A.Sachbearbeiter");




Please help......500 points with a solution
Best regards,
Thomas
11.BMP
0
tsp2002
Asked:
tsp2002
1 Solution
 
magadesign_sviluppoCommented:
hi,
try:
case when A.Lieferungsbedingungenkurzbezeichnung is null or A.Lieferungsbedingungenkurzbezeichnung = '' then '999' else A.Lieferungsbedingungenkurzbezeichnung end

Open in new window

0
 
KrtyknmCommented:
I hope this will help.
case when ISNULL(A.Lieferungsbedingungenkurzbezeichnung,'') = '' then '999' else A.Lieferungsbedingungenkurzbezeichnung end

Open in new window

0
 
Alpesh PatelAssistant ConsultantCommented:
Krtyknm: is 100 % right.
0
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 
tsp2002Author Commented:
did you mean that?
error message wrong syntax near case



sql.Format("CREATE VIEW ViewLieferschein AS SELECT\
            A.LieferscheinNr, A.VersandName1, A.VersandName2,\
           A.VersandStrassePostfach,CAST(A.VersandPostleitzahl AS VARCHAR(10))AS VersandPostleitzahl,\
           A.VersandOrt,A.VersandLand,A.Lieferscheindatum,\
           A.DebitorenNr, \

            A.Lieferungsbedingungenkurzbezeichnung AS Lieferbedingung  \
          case when ISNULL(A.Lieferungsbedingungenkurzbezeichnung,'') = '' then '999'\  
        else A.Lieferungsbedingungenkurzbezeichnung end
         ,convert(nvarchar,C.TextbausteinD) TextbausteinD ,\

           A.FakturiertAktiv AS Fakturiert,SUM(B.Einheitbez13wert) AS Gewicht, A.Sachbearbeiter\
           
            FROM Lieferscheine AS A inner join Lieferscheinpositionen AS B\
          ON A.LieferscheinNr=B.LieferscheinNr\

          inner join Textbausteine AS C ON A.Lieferungsbedingungenkurzbezeichnung =C.TextbausteinNr\

          WHERE A.LieferscheinNr>1999999\
          GROUP BY A.LieferscheinNr,A.VersandName1,A.VersandName2,\
          A.VersandStrassePostfach, A.VersandPostleitzahl,\
             A.VersandOrt,A.VersandLand, A.Lieferscheindatum, A.DebitorenNr,\
          A.Lieferungsbedingungenkurzbezeichnung,convert(nvarchar,C.TextbausteinD), A.FakturiertAktiv,
            A.Sachbearbeiter");



0
 
magadesign_sviluppoCommented:
A.Lieferungsbedingungenkurzbezeichnung AS Lieferbedingung  \
          case when ISNULL(A.Lieferungsbedingungenkurzbezeichnung,'') = '' then '999'\  
        else A.Lieferungsbedingungenkurzbezeichnung end 

Open in new window

should be
          case when ISNULL(A.Lieferungsbedingungenkurzbezeichnung,'') = '' then '999'\  
        else A.Lieferungsbedingungenkurzbezeichnung end  AS Lieferbedingung  

Open in new window

0
 
tsp2002Author Commented:
okay...thanks....that will create my view....but not with the result I wanted. That is the same as before.
let me explain:
on my first view without the case when ISNULL  I found out that when in
A.Lieferungsbedingungenkurzbezeichnung is no value like " " then this Lieferschein/data will not exit in my view because of
inner join Textbausteine AS C ON A.Lieferungsbedingungenkurzbezeichnung =C.TextbausteinNr\


normal in
A.Lieferungsbedingungenkurzbezeichnung
there are number from 1 to 12

and in the table C.Textbaustein is the statement for that number
f.e.
1 = in  TextbausteinD "Delivery term: customer picks up"
2 = in  TextbausteinD "Delivery term: by shipper"
and so on

so when in A.Lieferungsbedingungenkurzbezeichnung
is only a blank " " with no number from 1-12  then this Lieferschein will not exit in my View.
So I wanted to delcare a default no. like 999 and in
C.Textbaustein a special error statement  under that number
999 = in  TextbausteinD "Delivery term: wrong term please check this"


I hope you under stand my view and problem....can you help me?

0
 
magadesign_sviluppoCommented:
can you post all scripts to create tables?
and we can make some verifications on it
thanks
0
 
tsp2002Author Commented:
Hi,
I think I found a solution.
I had to create 2 views. On the first I will set the default error value of 999 if there is a blank.
And on the second view I can read and join the delivery condition.
This works.

I don´t know the script of the original table and I can not change the table because there are not from me, there were build by a computer company that works for our company.

 Create a View from a second View??? Is this okay...or a bad idea?
It works. Let me know. Thank you.


sql.Format("CREATE VIEW ViewLieferscheinVersuch8 AS SELECT\
              A.LieferscheinNr, A.VersandName1, A.VersandName2,\
                  A.VersandStrassePostfach,CAST(A.VersandPostleitzahl AS VARCHAR(10))AS VersandPostleitzahl,\
             A.VersandOrt,A.VersandLand,A.Lieferscheindatum,\
             A.DebitorenNr,\
             CASE WHEN ISNULL(A.Lieferungsbedingungenkurzbezeichnung,'')=''\
             OR A.Lieferungsbedingungenkurzbezeichnung='' THEN '999' else A.Lieferungsbedingungenkurzbezeichnung
                end AS Lieferbedingung, \
             A.FakturiertAktiv AS Fakturiert,SUM(B.Einheitbez13wert) AS Gewicht, A.Sachbearbeiter\
                FROM Lieferscheine AS A inner join Lieferscheinpositionen AS B\
             ON A.LieferscheinNr=B.LieferscheinNr\
             WHERE A.LieferscheinNr<2000000\
             GROUP BY A.LieferscheinNr,A.VersandName1,A.VersandName2,\
             A.VersandStrassePostfach, A.VersandPostleitzahl,\
                A.VersandOrt,A.VersandLand, A.Lieferscheindatum, A.DebitorenNr,\
             A.Lieferungsbedingungenkurzbezeichnung,A.FakturiertAktiv, A.Sachbearbeiter");

sql.Format("CREATE VIEW ViewLieferscheinVersuch888 AS SELECT\
                  A.LieferscheinNr, A.VersandName1, A.VersandName2,\
                 A.VersandStrassePostfach,A.VersandPostleitzahl,\
                 A.VersandOrt,A.VersandLand,A.Lieferscheindatum,\
                 A.DebitorenNr,\
                 A.Lieferbedingung, convert(nvarchar,B.TextbausteinD) TextbausteinD,\
                 A.Fakturiert,A.Gewicht, A.Sachbearbeiter\
                  FROM ViewLieferscheinVersuch8 AS A\
                  inner join Textbausteine AS B ON A.Lieferbedingung=B.TextbausteinNr\
                 GROUP BY A.LieferscheinNr,A.VersandName1,A.VersandName2,\
                 A.VersandStrassePostfach, A.VersandPostleitzahl,\
                    A.VersandOrt,A.VersandLand, A.Lieferscheindatum, A.DebitorenNr,A.Gewicht,\
                 A.Lieferbedingung,convert(nvarchar,B.TextbausteinD), A.Fakturiert, A.Sachbearbeiter");
0
 
magadesign_sviluppoCommented:
that is ok
good luck
0
 
tsp2002Author Commented:
okay...thanks for your help,
have a great day.
Best regards,
Thomas
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now