Ответ 1
SELECT IF(t1.AccountNo IS NULL, t2.TempAccountNo, t2.AccountNo) AS optional_field
FROM table2 t2
LEFT JOIN t1 ON t1.AccountNo = t2.AccountNo
У меня есть две таблицы типа this.Both - отдельные таблицы
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 Из таблицы II и условие
If (tableII.AccountNo not in table I)
Мне нужно выбрать TempAccountNo from table II
else
Мне нужно выбрать AccountNo from table II
Как я могу это достичь.
SELECT IF(t1.AccountNo IS NULL, t2.TempAccountNo, t2.AccountNo) AS optional_field
FROM table2 t2
LEFT JOIN t1 ON t1.AccountNo = t2.AccountNo
У меня есть запрос mysql для нескольких полей select, используя инструкции if... else или используя case case. Это описано ниже.
MYSQL выберите, используя оператор if
select IF('fieldname with condition','if true value','if false value') from table_name where 1;
MYSQL выберите, используя несколько, если 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;
Попробуйте использовать эти запросы.
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
Это поможет..