我想在MySQL中创建一个存储过程,我循环遍历记录并在特定条件为真时返回行。
例如:我有一个包含PRIMARY, TRANSTYPE, DATE, AMOUNT
列的表格。现在PRIMARY
可以是0或1,TRANSTYPE
可以是A,B,C。
现在我要做的是返回行PRIMARY="0" if TRANSTYPE = "A" and return row where PRIMARY="1" if TRANSTYPE = "B" or TRANSTYPE = "C"
目前我正在用PHP做这个,但我想用MySql存储过程来做。
答案 0 :(得分:1)
SELECT * FROM <table>
WHERE
(PRIMARY="0" AND TRANSTYPE = "A") OR
(PRIMARY="1" AND TRANSTYPE = "B") OR
(PRIMARY="1" AND TRANSTYPE = "C")
答案 1 :(得分:1)
你可以做到
CREATE PROCEDURE PROC_NAME()
BEGIN
select * from table
where (TRANSTYPE = 'A' and PRIMARY = '0')
or (TRANSTYPE in ('B','C') and PRIMARY = '1');
END;