aaa28:
シナリオは、私はPHPを使用して検索機能を使用してクエリを望んでいたという2つのテーブルを持っています。二つのテーブル、table_aとtable_bがあります。table_aでは、ID、名前、MIDDLE_NAME、姓、case_no列があるとtable_bも同様です。table_aデータはユーザによって手動で挿入しながらtable_bのデータはすべて、別のソースからインポートされています。table_aとtable_bから重複データが存在するインスタンスがありました。私が欲しいのはtable_bから重複データを削除することです。table_aにnull値を持つ列があることを言わせて、私が欲しいの結果から、これを除外することです。
+----------+----------+----------+ +----------+----------+----------+
| name | surname | case_num | | name | surname | case_num |
+----------+----------+----------+ +----------+----------+----------+
| john | wick | 1434 | | john | wick | null |
+----------+----------+----------+ +----------+----------+----------+
table_a table_b
私が今やったことのビューを作成し、連合を使用して2つを組み合わせることです。それは次のようになります。
+----------+----------+----------+
| name | surname | case_num |
+----------+----------+----------+
| john | wick | 1434 |
+----------+----------+----------+
| john | wick | null |
+----------+----------+----------+
今、私が欲しいのは、このテーブルを照会すると、あるヌル値を持っていないだけの結果を示すことです
+----------+----------+----------+
| john | wick | 1434 |
+----------+----------+----------+
そして、自動的にNULL値を持つ行を削除することが可能である場合
+----------+----------+----------+
| john | wick | null |
+----------+----------+----------+
しかし、最初の問題は、結果からNULL値を持つ行を除いています。ここに私のクエリがあります。
SELECT * FROM created_view_table WHERE name LIKE ? OR surname LIKE ? OR case_num LIKE ? AND
case_num <> null;
SELECT * FROM created_view_table WHERE name LIKE ? OR surname LIKE ? OR case_num LIKE ? AND
case_num IS NOT null;
私は「%ジョン%」を検索するたびに、それは常に両方の行、NULL値を持つ列で1とされていないものを示しています。可能私は唯一のヌル値を持っていない結果を表示したい場合。
バドリーナート:
あなたは、使用しているか 句を使用すると、クエリとアウトブラケットに必要なように、または、以下やろう
select * from created_view_table WHERE (name LIKE ? OR
surname LIKE ? OR case_num LIKE ?) AND case_num is not null;
これはあなたの問題を解決します。