2

IFSQLで2つのステートメントを実行したい。IF は 2 つの異なる条件です。例:

IF (@user == 'Bob')
BEGIN
   SELECT * FROM table Where id = 1
END
IF (@animal == 'Cat')
BEGIN
   SELECT * FROM table WHERE id = 50
END

最初の条件のみが正しい場合は行 1、両方の条件が満たされている場合は 1 と 50 が返されます。これは 2 番目のステートメントで失敗しますIF。追加する必要がある別のキーワードはありますか?

4

5 に答える 5

2
IF (@user == 'Bob')
BEGIN
   SELECT * FROM table Where id = 1
END
ELSE IF (@animal == 'Cat') and (@user == 'Bob')
BEGIN
   SELECT * FROM table WHERE id = 50
END
于 2013-07-17T13:42:41.667 に答える
2

次の 1 つのステートメントをお勧めします。

SELECT
   *
FROM table
WHERE
    (@user = 'Bob' AND Id = 1)
    OR
    (@animal= 'Cat' AND Id = 50)
于 2013-07-17T13:44:38.793 に答える
1
IF (@user = 'Bob')
BEGIN
    IF (@animal = 'Cat')
    BEGIN
       SELECT * FROM table WHERE id = 50
    END
    ELSE
    BEGIN   
       SELECT * FROM table Where id = 1
    END
END
于 2013-07-17T13:44:56.153 に答える
0

これはあなたが望むものに役立つかもしれないと思います。

  SELECT * FROM table Where id = 1 && @user == 'Bob'

Union

  SELECT * FROM table WHERE id = 50 && @animal == 'Cat' && @user == 'Bob'
于 2013-07-17T13:44:34.917 に答える