0

MySQLでストアドプロシージャを作成し、レコードをループして、特定の条件が真の場合に行を返したいと思います。

例:列のあるテーブルがありますPRIMARY, TRANSTYPE, DATE, AMOUNTPRIMARYこれで、0または1のいずれかになり、TRANSTYPEA、B、Cに なります。

今私がしたいのは行を返すことです
PRIMARY="0" if TRANSTYPE = "A" and return row where PRIMARY="1" if TRANSTYPE = "B" or TRANSTYPE = "C"

現在、PHPでこれを行っていますが、MySqlストアドプロシージャでこれを実行したいと思います。

4

2 に答える 2

1
SELECT * FROM <table>
    WHERE
         (PRIMARY="0" AND TRANSTYPE = "A") OR 
         (PRIMARY="1" AND TRANSTYPE = "B") OR 
         (PRIMARY="1" AND TRANSTYPE = "C")
于 2012-12-27T06:42:54.597 に答える
1

できるよ

 CREATE PROCEDURE PROC_NAME()
    BEGIN
       select * from table
       where (TRANSTYPE = 'A' and PRIMARY = '0') 
          or (TRANSTYPE in ('B','C') and PRIMARY = '1');
    END;
于 2012-12-27T06:43:00.973 に答える