Set Variable Wert vorhanden ist Bedingung, sql server

 Declare @CategoryID as int
BEGIN  
    SELECT 
    (CASE 
        WHEN EXISTS(
            SELECT t0.Categoryid AS [EMPTY]
            FROM Categories AS [t0]
            WHERE [t0].Categoryname = @CategoryName
           ) THEN 1
        ELSE 0
     END) AS [value]

wenn ich meine variable innerhalb von block existiert mit t0.Categoryid, wie konnte ich das tun ?

was ich will, ist zu ersetzen dann 1 der Kategorie-id-Wert...

vielen Dank im Voraus..

  • DANN 1 wird, DANN SET @CategoryId = 1. Besser... SELECT CategoryId = (- Fall....)
  • ich möchte set @categoryid, um den Wert der select-Anweisung..
  • Man kann sicherlich nicht eine SET - Anweisung innerhalb einer CASE - Anweisung. SET @c = CASE WHEN x THEN y ELSE z END gültig ist, aber CASE WHEN x THEN SET @c = y ELSE SET @c = z END sicherlich nicht.
  • Ja, ich habe aktualisiert mein Kommentar mit SELECT @categoryId = (case...)
Schreibe einen Kommentar