cancel
Showing results for 
Search instead for 
Did you mean: 

Frage zu einem Query (Verbindung von Feldern)

Former Member
0 Kudos

Hallo,

habe einen Query, der "DocNum" mit "ShipCode", "Quantity" und "InvntryUom"

alles in einem Feld mit Leerschritten getrennt zeigen soll:

Select 
cast(T0.[DocNum] as VARCHAR(9)) +' '+ T0.[ShipToCode] + ' '+ CAST(T1.OpenQty as VARCHAR(19))+ ' '+ CAST(ISNULL(T2.InvntryUom,' ') as VARCHAR(20))
,T1.Shipdate, T1.OpenQty, T2.InvntryUom
from RDR1 T1 
Inner Join ORDR T0 on T0.DocEntry = T1.DocEntry
Inner Join OITM T2 on T1.ItemCode = T2.ItemCode
where T1.OpenQty > 0 and T1.Linestatus = 'O'

Das ergebnis ist zwar alles in einem Feld, aber der Wert Quantity zeigt z.B.:

123456 Kunde 100.000000 Stk

Kann man das noch verbessern, daß die ".000000" nicht angezeigt werden ?

Vielen Dank für Eure Wissenswerte.

Gruß

Markus

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Wenn Dir die (ev) Nachkommastellen egal sind - CAST AS INT, danach CAST AS NVARCHAR.

Das Hilft!

Former Member
0 Kudos

Hallo Jacqueline, hallo Andreas,

Jetzt funktioniert der Query so, dass ich mir das nötige drumherumbauen kann.

Ich schließe den Beitrag und bedanke mich bei jedem von Euch.

Eine Frage noch: wo lernt man sowas ?? Ich weiß nicht was es mit den Zahlen in den Klammern auf sich hat...

Jacqueline
Contributor
0 Kudos

Hallo,

ich bin zwar nicht der super SQL-Experte, aber ich denke ein weiteres "cast as decimal" vor der Menge sollte dein Problem lösen:

Also in etwa so - für die Anzeige mit 0 Nachkommastellen:

Select 
cast(T0.[DocNum] as VARCHAR(9)) +' '+ T0.[ShipToCode] + ' '+ CAST(cast (T1.OpenQty as decimal (15,0)) as VARCHAR(19))+ ' '+ CAST(ISNULL(T2.InvntryUom,' ') as VARCHAR(20))
,T1.Shipdate, T1.OpenQty, T2.InvntryUom
from RDR1 T1 
Inner Join ORDR T0 on T0.DocEntry = T1.DocEntry
Inner Join OITM T2 on T1.ItemCode = T2.ItemCode
where T1.OpenQty > 0 and T1.Linestatus = 'O'

Oder mit noch 2 Nachkomma stellen:

Select 
cast(T0.[DocNum] as VARCHAR(9)) +' '+ T0.[ShipToCode] + ' '+ CAST(cast (T1.OpenQty as decimal (15,2)) as VARCHAR(19))+ ' '+ CAST(ISNULL(T2.InvntryUom,' ') as VARCHAR(20))
,T1.Shipdate, T1.OpenQty, T2.InvntryUom
from RDR1 T1 
Inner Join ORDR T0 on T0.DocEntry = T1.DocEntry
Inner Join OITM T2 on T1.ItemCode = T2.ItemCode
where T1.OpenQty > 0 and T1.Linestatus = 'O'

Ich hoffe das funktioniert so für dich!

Gruß Jacqueline