Để đặt điều kiện khi cộng giá trị cột, hãy sử dụng hàm IF() của MySQL. Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable (
-> Value1 INT,
-> Value2 INT,
-> Value3 INT
-> ); Query OK, 0 rows affected (0.64 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable VALUES(10,20,-30); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO DemoTable VALUES(50,60,90); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable VALUES(100,200,400); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO DemoTable VALUES(30,40,-50); Query OK, 1 row affected (0.16 sec) mysql> INSERT INTO DemoTable VALUES(70,80,-1); Query OK, 1 row affected (0.24 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable;
Kết quả sẽ như sau:
+--------+--------+--------+ | Value1 | Value2 | Value3 | +--------+--------+--------+ | 10 | 20 | -30 | | 50 | 60 | 90 | | 100 | 200 | 400 | | 30 | 40 | -50 | | 70 | 80 | -1 | +--------+--------+--------+ 5 rows in set (0.00 sec)
Dưới đây là truy vấn để đặt điều kiện khi cộng giá trị cột:
mysql> SELECT Value1 + Value2 + IF(Value3 > 0, Value3, 0) FROM DemoTable;
Kết quả sẽ như sau:
+---------------------------------------+ | Value1+Value2+IF(Value3>0,Value3,0) | +---------------------------------------+ | 30 | | 200 | | 700 | | 70 | | 150 | +---------------------------------------+ 5 rows in set (0.00 sec)