sql Plusieurs cas de Déclaration
Salut, je suis en train d'écrire plusieurs cas de déclarations de préréglage de la priorité d'un travail. Il y a quelques tables et ID s qui sont impliqués dans cette mais, fondamentalement, je veux vérifier si le poste existe que si elle ne si l'questionid relative à il est de 80 et a alors plusieurs cas statemnts de sorte que si les travaux mineurs de la catégorie est de 1, alors la réponse sera l'id de Haut. Le code que j'ai fait jusqu'à présent peut expliquer mieux...
ALTER Procedure [dbo].[usp_CreatePresetPriority]
@HelpdeskID int,
@MinorCategoryID int
As
BEGIN
IF EXISTS(SELECT * FROM TicketInformation WHERE TicketID = @HelpdeskID AND QuestionID = 80)
BEGIN
UPDATE TicketInformation
SET AnswerInput = Null,
AnswerID = CASE @MinorCategoryID WHEN 87 THEN 129 END
WHERE TicketID = @HelpdeskID And QuestionID = 80
END
ELSE
BEGIN
INSERT INTO TicketInformation (TicketID, QuestionID, AnswerID, AnswerInput)
VALUES (@HelpdeskID, 80, CASE @MinorCategoryID WHEN 87 THEN 129 END, Null)
END
Si cela fonctionne, mais seulement pour une option où @MinorCategoryID = 87 je veux avoir plus de 1 déclarations set @MinorCategoryID QUAND 91THEN 130 etc...
J'ai essayé...
IF EXISTS(SELECT * FROM TicketInformation WHERE TicketID = @HelpdeskID AND QuestionID = 80)
UPDATE TicketInformation SET AnswerInput = Null, AnswerID = CASE @MinorCategoryID WHEN 87 THEN 129 WHERE TicketID = @HelpdeskID And QuestionID = 80
ELSE INSERT INTO TicketInformation (TicketID, QuestionID, AnswerID, AnswerInput) VALUES (@HelpdeskID, 80, CASE @MinorCategoryID WHEN 87 THEN 129 END, Null)
IF EXISTS(SELECT * FROM TicketInformation WHERE TicketID = @HelpdeskID AND QuestionID = 80)
UPDATE TicketInformation SET AnswerInput = Null, AnswerID = CASE @MinorCategoryID WHEN 91 THEN 130 WHERE TicketID = @HelpdeskID And QuestionID = 80
ELSE INSERT INTO TicketInformation (TicketID, QuestionID, AnswerID, AnswerInput) VALUES (@HelpdeskID, 80, CASE @MinorCategoryID WHEN 91 THEN 130 END, Null)
Toute aide appréciée - désolé si il n'est pas clair, j'ai un vendredi floue tête!
OriginalL'auteur anna | 2011-08-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez l'affecter à une variable, puis il suffit d'insérer la variable.
ou modifier les valeurs() par un select
OriginalL'auteur Carlos Quintanilla
Donner à ceci un essai:
Évidemment, remplacer la valeur NULL dans le cas d'AUTRE avec une autre valeur si nécessaire.
OriginalL'auteur James Johnson
Essayez de créer une liste de table pour ceux scénarios possibles. Ainsi, lorsque de nouveaux cas de pop up tout ce que vous avez à faire est de mettre à jour la table.
Voici le code
OriginalL'auteur Brent