mbaumeister
-
Gesamte Inhalte
5 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von mbaumeister
-
-
Sorry MDD, aber ich habe noch den gleichen Fehler
declare
@values varchar(1000)
declare @sql varchar(max)
set @values =replace('G01,AL', ',', CHAR(39) + ',' + CHAR(39))
set @sql = '
select
lb.artikel,
art.NAME,
sum(lb.menge) as menge,
sum(lbe.TOTALELEMVALUE) as Wert,' + char(39) +
'mögliche Projekte' + char(39) + '[dbo].[udf_anp_Projekte_LBW_WE](lb.artikel, ' + char(39) + @values + char(39) + ')
from lagerbelegung lb
left outer join artikel art on art.artikel = lb.artikel
left outer join LAGERBELEGUNGELEMENT lbe on lb.PREISGRUPPIERUNGID = lbe.PREISGRUPPIERUNGID
where lb.lager in (' + char(39) + @values + char(39) + ')
and art.artikelgruppe between ' + char(39) + '10000' + char(39) + ' and '+ char(39) + '99999' + char(39) +
' group by
lb.artikel,
art.NAME,
[dbo].[udf_anp_Projekte_LBW_WE](lb.artikel, @values)
order by sum(lbe.TOTALELEMVALUE) desc, lb.artikel'exec (@sql)
-
Vielen Dank, habe ich getestet. Bei mir kommt dann aber die Meldung:
Meldung 102, Ebene 15, Status 1, Zeile 6
Falsche Syntax in der Nähe von '.'. -
vor 32 Minuten schrieb MDD:
aber ein 'G01,AL' womit du wahrscheinlich keine Treffer findest.
Hi MDD, vielen Dank für Deine Antwort. Wenn ich das so ändere, erhalte ich einen Syntaxfehler. In der IN-Syntax soll ja nachher stehen ('G01','AL') dann bekomme ich auch Ergebnisse. Ich würde nur gerne
das Ganze flexibler gestalten, da auch eine Funktion aufgerufen wird. Leider bekomme ich bei allen meinen Versuchen kein Ergebnis.
Wenn ich z.B. die Variable so fülle '''G01''' + ',' +'''AL''' dann ist das Ergebnis 'G01'.'AL' in der Variable. Trotzdem werden keine Datensätze gefunden.
-
Guten Tag, folgende Query habe ich erstellt:
declare@values varchar(1000)set @values ='G01,AL'selectlb.artikel,art.NAME,sum(lb.menge) as menge,sum(lbe.TOTALELEMVALUE) as Wert,'mögliche Projekte' = [dbo].[udf_anp_Projekte_LBW_WE](lb.artikel,@values)from lagerbelegung lbleft outer join artikel art on art.artikel = lb.artikelleft outer join LAGERBELEGUNGELEMENT lbe on lb.PREISGRUPPIERUNGID = lbe.PREISGRUPPIERUNGIDwhere lb.lager in (@values)and art.artikelgruppe between '10000' and '99999'group bylb.artikel,art.NAME,[dbo].[udf_anp_Projekte_LBW_WE](lb.artikel, @values)order by sum(lbe.TOTALELEMVALUE) desc, lb.artikelMein Problem: es erscheint kein Ergebnis, da scheinbar das Komma als Separatur in der "IN-Funktion" nicht erkannt wird. Wenn ich z. B. nur G01 in die Variable schreibe, funktioniert die Query.
Habe jetzt schon vieles ausprobiert, aber nichts funktioniert.
Hat jemand eine Idee, wie ich das lösen könnte bzw. wo das Problem liegt?
Vielen Dank für Eure Unterstützung.
Herzliche Grüße
Markus Baumeister
Variable für not in definieren mit Komma separiert
in MS SQL Server Forum
Geschrieben
Hallo MDD,
vielen Dank nochmal. Habe das Script mit print laufen lassen, dass sieht eigentlich gut aus. Aber ich habe irgendwie ein Brett vor dem Kopf. Beim Exec erscheint der Fehler immer noch. Es muss m. E. dieser
Teil sein:
sum(lbe.TOTALELEMVALUE) as Wert,' + char(39) + 'mögliche Projekte =' + char(39) + '[dbo].[udf_anp_Projekte_LBW_WE](lb.artikel, ' + char(39) + @values + char(39) + ')