2017-09-22 28 views
0

SelectCaseと一緒に使用して、いくつかのフィールドのいずれかを選択できますか?mysqlから条件を選択してフィールドを選択する

私は基本的に私は/その後の間の値を比較する方法として、特定のフィールドから値を比較ではなく、ケース/を使用しました

Return $Value from FIeldA if not null 
else from FieldB if not NULL 
else from FieldC if not Null 
else '0' 

を言うロジックを持つすべてのレコードの値を返すようにしたいですこれが可能かどうかは不明です。

+0

https://www.w3schools.com/sql/func_sqlserver_coalesce.aspデモコード

SELECT CASE 1 WHEN 1 THEN 'this is case one' WHEN 2 THEN 'this is case two' ELSE 'this is not in the case' END as 'how to execute case statement'; 

です –

答えて

2

短い答え、使用COALESCE

SELECT COALESCE(FieldA, FieldB, FieldC, 0) AS FieldName 
FROM tableName; 

それはあなたの三つのフィールドFieldA, FieldB, FieldCから最初の非NULL可能値が得られます。すべてがnullの場合は、0を返します。何をしようとしています。

長い答え、使用CASE式。

1

複数のフィールドをチェックし、nullの場合は同じ結果0を返し、次にCOALESCE関数を使用します。あなたはケースを使用する条件を使用して提出選択する場合、これはより多くの情報 https://www.w3schools.com/sql/func_sqlserver_coalesce.asp

余分なオプションの簡単なコード

SELECT COALESCE(filed1, filed2, filed3, 0) as output from table; 

です。これは、より多くの情報のため

https://dev.mysql.com/doc/refman/5.7/en/case.html

http://www.mysqltutorial.org/mysql-case-function/

関連する問題