我有两个这样的表。两个表是单独的表
AccountNo User Name
----------------------------------
1 U a
2 U b
3 U c
另一个表包含以下结构
TempAccountNo Mycolumn AccountNo
------------------------------------------
4 X 2341
5 Y 2
6 Z 2568
我需要选择AccountNo或TempAccountNo,Mycolumn From table II,条件是
If (tableII.AccountNo not in table I)
我需要选择TempAccountNo from table II
else
我需要选择AccountNo from table II
我怎样才能做到这一点。
答案 0 :(得分:37)
SELECT IF(t1.AccountNo IS NULL, t2.TempAccountNo, t2.AccountNo) AS optional_field
FROM table2 t2
LEFT JOIN t1 ON t1.AccountNo = t2.AccountNo
答案 1 :(得分:31)
我使用if ... else语句或使用case语句对多个select字段进行了mysql查询。这将在下面描述。
使用if语句
选择MYSQLselect IF('fieldname with condition','if true value','if false value') from table_name where 1;
MYSQL选择使用多个if else
select
CASE
WHEN fieldname1 = 'value1' THEN 'if true then give value'
WHEN fieldname2 = 'value2' THEN 'if true then give value' THEN 'if true then give value'
WHEN fieldname3 = 'value3' THEN 'if true then give value' THEN 'if true then give value'
WHEN fieldname4 = 'value4' THEN 'if true then give value' THEN 'if true then give value'
ELSE 'else all false then give default value'
END as STATUS,
from table_name where 1;
尝试使用这些查询。
答案 2 :(得分:0)
SELECT IF(t1.AccountNo IS NULL, t2.TempAccountNo, t2.AccountNo) AS Acc_common
FROM table1 t1
INNER JOIN table2 t2 ON t1.AccountNo = t2.AccountNo
这会有所帮助..