sqlite で検索する場合、次の SQL を使用してすべての列を 1 回検索します。
Select id from table where '--' || IFNULL(name, ' ')
|| '--' || IFNULL(created, ' ') || '--' || IFNULL(desc, ' ')
|| '--' LIKE '%query%'
order
ここで、テーブルとテーブルを検索する必要がありorder details
ます。彼らはそのように見えます
注文表
id
date
customer_id
注文詳細
id
product_id
cost
orders_id
qty
この場合、どのように検索すればよいでしょうか。結合を使用してみました:
Select o.id,o.customer_id from orders o where '--'
(Select * from customers where name like '%query%' and id=customer_id) '--'
|| (Select * from product where name like '%query%' and ID =
(Select product_id from order_details where id =odetails_id)) '--' LIKE '%query%'
編集
この新しいクエリを試しましたが、「OR」でエラーが発生しました
SELECT o.id FROM orders o WHERE o.id in
((SELECT order_id FROM order_items WHERE order_items.service_id In
(SELECT id FROM services WHERE name like query))
OR o.id in
(SELECT order_id FROM order_items WHERE order_items.customer_id In
(SELECT id FROM customers WHERE name like query))
OR o.id in
(SELECT order_id FROM order_items WHERE order_items.cloth_id In
(SELECT id FROM cloths WHERE name like query) ))
これを修正するにはどうすればよいですか