MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

フィールドを選択し、それがnullの場合は、MySQLで別のフィールドを選択しますか?


これには、COALESCE()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1470
   -> (
   -> FirstName varchar(20),
   -> Age int
   -> );
Query OK, 0 rows affected (0.57 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1470 values('Robert',23);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1470 values('Bob',NULL);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1470 values(NULL,25);
Query OK, 1 row affected (0.15 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1470;

これにより、次の出力が生成されます-

+-----------+------+
| FirstName | Age  |
+-----------+------+
| Robert    |   23 |
| Bob       | NULL |
| NULL      |   25 |
+-----------+------+
3 rows in set (0.00 sec)

以下は、フィールドを選択するためのクエリです。フィールドがnullの場合は、別のフィールドを選択します-

mysql> select coalesce(FirstName,Age) as FirstNameOrAgeValue from DemoTable1470;

これにより、次の出力が生成されます-

+---------------------+
| FirstNameOrAgeValue |
+---------------------+
| Robert              |
| Bob                 |
| 25                  |
+---------------------+
3 rows in set (0.00 sec)

  1. MySQLでSelectクエリを使用して挿入

    SELECTクエリを使用した挿入の場合、構文は次のとおりです- insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N;を選択します。 まずテーブルを作成しましょう- mysql> create table DemoTable1603    -> (    -> StudentId int,    -> Stud

  2. MySQLでグループ化して選択して合計しますか?

    合計するには、集計関数SUM()を使用します。それで、MySQLGROUPBYを使用してグループ化します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ProductName varchar(20),    -> ProductQuantity int,    -> ProductPrice int    -> ); Query OK, 0 rows affected (0.63 sec