Próbuję napisać procedurę przechowywaną iw zależności od określonej wartości kolumny, chcę móc zmienić wybraną tabelę. Postaram się dać przykład:Dynamicznie Zmienianie tabeli do wybrania za pomocą instrukcji SQL CASE
SELECT ItemNumber,
ItemType,
Description
FROM
CASE ItemType
WHEN 'A' THEN TableA
ELSE TableB
END
WHERE
CASE ItemType
WHEN 'A' THEN ItemNumber = @itemNumber
ELSE PartNumber = @itemNumber
END
Jak widać, nie tylko ja dynamicznie zmieniające tabelę I wyboru, ale ponieważ te dwa stoły zostały wykonane w dwóch różnych czasach przez dwóch różnych ludzi, nazwy kolumn również są różne.
Moje pytanie brzmi: Jaki jest najlepszy sposób, aby to osiągnąć, ponieważ SQL Server nie wydaje się podoba mi moje zapytanie, które skonstruowałem.
Jeśli ktoś, kto widzi, co próbuję zrobić, może sugerować lepszy sposób to zrobić, byłbym wszystkie uszy :-)
Podczas gdy ludzie zwykle zakładają "Serwer SQL" == "Serwer MS SQL", lepiej jest wyjaśnić to w pytaniu i znacznikach. Zmieniam tagi, cofnij, jeśli się mylę. –
sqlserver jest tagiem dla Microsoft SQL Server. Obecnie nie ma żadnego innego produktu o tej nazwie i jest to jedyny użyteczny tag na SO. –