は、私のテーブル構造である:JOINの結果がNULLかどうかを確認する方法はありますか?ここ
-- categories
+----+-------------+
| id | name |
+----+-------------+
| 1 | political |
| 2 | cultural |
| 3 | social |
| 4 | historical |
+----+-------------+
-- tags
+----+-------------+-----------+-------------+-----------------+
| id | name | parent_id | category_id | total_used_num |
+----+-------------+-----------+-------------+-----------------+
| 1 | president | NULL | 1 | 43 |
| 2 | society | NULL | 3 | 345 |
| 3 | Trump | 1 | 1 | 5 |
| 4 | book | 5 | 2 | 5473 |
| 5 | library | NULL | 2 | 433 |
+----+-------------+-----------+-------------+-----------------+
そして、これは私のクエリです:
SELECT t1.name,
CONCAT(t2.name, ',', cat.name) t_p
FROM tags t1
LEFT JOIN tags t2
ON t1.parent_id = t2.id
INNER JOIN categories cat
ON t1.category_id = cat.id
ORDER BY total_used_num DESC,
t1.id
/* output
+----+-------------+--------------------------+
| 1 | president | NULL |
| 2 | society | NULL |
| 3 | Trump | president,political |
| 4 | book | library,cultural |
| 5 | library | NULL |
+----+-------------+--------------------------+
参照してください? CONCAT
とNULL
の結果はNULL
です。とにかく、どうすればそれを避けることができますか?また、コンマを,
の条件付きにしたいと思います。両方のフィールドがNULL
でなければ、そのコンマがそこにあるはずです。これは期待された結果:
+----+-------------+--------------------------+
| 1 | president | political |
| 2 | society | social |
| 3 | Trump | president,political |
| 4 | book | library,cultural |
| 5 | library | cultural |
+----+-------------+--------------------------+
私はそれをどのように行うことができますか?
あなたは誰ですか?あなたは1分以内に私の質問を読みましたか?あなたは本当に素晴らしい人です。私が感銘を受けた。 – stack