Hallo,
ich habe ein größeres Problem. Ich übergebe in meinem VB.Net-Programm SQL-Strings an eine Methode und benötige daraus die WHERE-Bedingung. An sich ja kein Problem. Man sucht nach WHERE und schneidet alles vorher weg und kickt dann ggf. noch das ORDER BY weg.
Nun hab ich aber SQL-Strings dabei, die haben in den JOIN Anweisungen auch noch ein WHERE drin stehn und/oder in der WHERE-Bedingung noch SubSelects die ebenfalls das Wörtchen WHERE beinhalten können.
Kennt jemand einen sicheren Weg, genau die WHERE-Bedingung aus dem String zu extrahieren?
Beispielstring:
SELECT dbo.TM_Warenpos.*.Gebiet, dbo.TM_Benennungen.Benennung, dbo.TS_Warenpos.*, dbo.TM_Warenpos.MaterialID AS MaterialPosID, dbo.TM_Benennungen.SprachKZ, dbo.TM_Benennungen.ObjektArt AS objektart_ben FROM dbo.TM_Warenpos INNER JOIN dbo.TS_Warenpos ON dbo.TM_Warenpos.MaterialID = dbo.TS_Warenpos.MaterialID LEFT OUTER JOIN dbo.TM_Benennungen ON dbo.TM_Warenpos.MaterialID = (SELECT dbo.TM_Benennungen.ObjektID From dbo.TM_Benennung WHERE dbo.TM_Benennungen.ObjektArt = 'M') WHERE dbo.TM_Benennung.SprachKZ = (SELECT SprachKZ FROM TM_Mitarbeiter WHERE MitarbName='ICH') ORDER BY TM_Warenpos.MaterialID
Den grünen Teil würde ich hier zb. benötigen.
Ich hab aber auch sehr einfache Strings auf die die Methode dann auch passen müsste.
Ich komme da einfach auf keinen grünen Zweig
ich habe ein größeres Problem. Ich übergebe in meinem VB.Net-Programm SQL-Strings an eine Methode und benötige daraus die WHERE-Bedingung. An sich ja kein Problem. Man sucht nach WHERE und schneidet alles vorher weg und kickt dann ggf. noch das ORDER BY weg.
Nun hab ich aber SQL-Strings dabei, die haben in den JOIN Anweisungen auch noch ein WHERE drin stehn und/oder in der WHERE-Bedingung noch SubSelects die ebenfalls das Wörtchen WHERE beinhalten können.
Kennt jemand einen sicheren Weg, genau die WHERE-Bedingung aus dem String zu extrahieren?
Beispielstring:
SELECT dbo.TM_Warenpos.*.Gebiet, dbo.TM_Benennungen.Benennung, dbo.TS_Warenpos.*, dbo.TM_Warenpos.MaterialID AS MaterialPosID, dbo.TM_Benennungen.SprachKZ, dbo.TM_Benennungen.ObjektArt AS objektart_ben FROM dbo.TM_Warenpos INNER JOIN dbo.TS_Warenpos ON dbo.TM_Warenpos.MaterialID = dbo.TS_Warenpos.MaterialID LEFT OUTER JOIN dbo.TM_Benennungen ON dbo.TM_Warenpos.MaterialID = (SELECT dbo.TM_Benennungen.ObjektID From dbo.TM_Benennung WHERE dbo.TM_Benennungen.ObjektArt = 'M') WHERE dbo.TM_Benennung.SprachKZ = (SELECT SprachKZ FROM TM_Mitarbeiter WHERE MitarbName='ICH') ORDER BY TM_Warenpos.MaterialID
Den grünen Teil würde ich hier zb. benötigen.
Ich hab aber auch sehr einfache Strings auf die die Methode dann auch passen müsste.
Ich komme da einfach auf keinen grünen Zweig
Comment