May 15, 2015 at 2:46 pm
I have two parameter - Action and Result.
Action - available value from a query - SELECT actionid, actionvalue from ACTION
Result - available value from a query - SELECT resultid , resultvalue from ACTIONRESULT where actionid = actionid from Action parameter
Howerer not all actionid in ACTIONRESULT, now the users want if the actionid not in ACTIONRESULT, display all result from the ACTIONRESULT table.
There is no expression in the available value in parameter so I don't know how to make it to work.
Any idea??
May 15, 2015 at 4:14 pm
Using this DDL and sample data:
USE tempdb
GO
CREATE TABLE dbo.[ACTION]
(
actionid int not null,
actionvalue varchar(100) not null
);
CREATE TABLE dbo.ACTIONRESULT
(
resultid int primary key,
actionid int not null,
resultvalue varchar(100) not null,
);
GO
INSERT dbo.[ACTION] VALUES (1,'action1'),(2,'action2'),(3,'action3');
INSERT dbo.ACTIONRESULT VALUES (1,1,'result1'),(2,2,'result12);
You could use this logic:
DECLARE @Action int = 1;
SELECT *
FROM dbo.ACTIONRESULT
WHERE actionid = @Action
OR NOT EXISTS (SELECT actionid FROM dbo.ACTIONRESULT WHERE @Action = actionid);
-- Itzik Ben-Gan 2001
May 15, 2015 at 4:14 pm
Just add a second query to the dataset/procedure (You are using Stored Procedures?)
SELECT resultid , resultvalue from ACTIONRESULT where actionid = @actionid;
IF @@ROWCOUNT=0
SELECT resultid , resultvalue from ACTIONRESULT ;
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
May 18, 2015 at 5:59 am
Thanks Alan it worked.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply