Neu Abfrage eines Eigenen Feldes aus einem Aufträge nach einer GET/Json Abfrage

protonmg

Aktives Mitglied
4. November 2016
23
0
Liebe Forumsmitglieder,

das grundsätzliche Thema ist Dropshipping. Der Lieferant stellt mir Daten per API zur Verfügung. Nach dem Abruf per GET über den Workflow erhalte ich mehrere Werte zurück, die ich in ein eigenes Feld im Auftrag mit dem Namen "JsonBestellung" schreiben lasse.
Da es mehrere Werte sind und ich nur einen benötige, möchte ich gezielt auf eine Variable zugreifen können.

Um es dann im Workflow verwenden zu können, möchte ich
  1. das Eigene Feld "JsonBestellung" per SQL abfragen und
  2. gezielt eine Variable daraus wiederum ausgeben lassen.
Für Punkt 1 wollte ich folgendes SQL verwenden, das leider nicht funktioniert.
Folgende Fehlermeldung erscheint: Ungültiger Spaltenname "cName".

DECLARE @json NVARCHAR(MAX);

SET @json = (
SELECT
EigenesFeldWert.cWertVarchar
FROM Verkauf.tAuftragAttributSprache AS EigenesFeldWert

JOIN Verkauf.tAuftragAttribut AS AuftragMapping
ON AuftragMapping.kAuftragAttribut =

EigenesFeldWert.kAuftragAttribut
JOIN Verkauf.tAuftragAttributSprache AS EigenesFeld

ON EigenesFeld.kAuftragAttribut= AuftragMapping.kAttribut
WHERE EigenesFeld.cName = 'JsonBestellung'
AND AuftragMapping.kAuftrag = 249249)

SELECT * FROM OPENJSON(@json)


Kann mir jemand weiterhelfen?

Ich würde mich sehr freuen.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
826
303
Hi,

du hast da eine Tabelle doppelt drin (Verkauf.tAuftragAttributSprache) - schau mal, ob das hier funktioniert:

Code:
DECLARE @json NVARCHAR(MAX);

SET @json = (
SELECT
EigenesFeldWert.cWertVarchar
FROM Verkauf.tAuftragAttributSprache AS EigenesFeldWert

JOIN Verkauf.tAuftragAttribut AS AuftragMapping
ON AuftragMapping.kAuftragAttribut =

EigenesFeldWert.kAuftragAttribut
JOIN tAttributSprache AS EigenesFeld

ON EigenesFeld.kAuftragAttribut= AuftragMapping.kAttribut
WHERE EigenesFeld.cName = 'JsonBestellung'
AND AuftragMapping.kAuftrag = 249249)

SELECT * FROM OPENJSON(@json)

Viele Grüße
Mirko
 

protonmg

Aktives Mitglied
4. November 2016
23
0
Hi Mirko,

vielen Dank für Deine schnelle Antwort.

Leider funktioniert das nicht. Ich erhalte folgende Fehlermeldung:

Meldung 207, Ebene 16, Status 1, Zeile 14
Ungültiger Spaltenname "kAuftragAttribut".
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
826
303
Aber jetzt ;)

Code:
DECLARE @json NVARCHAR(MAX);

SET @json = (
SELECT
EigenesFeldWert.cWertVarchar
FROM Verkauf.tAuftragAttributSprache AS EigenesFeldWert

JOIN Verkauf.tAuftragAttribut AS AuftragMapping
ON AuftragMapping.kAuftragAttribut =

EigenesFeldWert.kAuftragAttribut
JOIN tAttributSprache AS EigenesFeld

ON EigenesFeld.kAttribut= AuftragMapping.kAttribut
WHERE EigenesFeld.cName = 'JsonBestellung'
AND AuftragMapping.kAuftrag = 249249)

SELECT * FROM OPENJSON(@json)