以下を行う最も効率的な方法を探しています。
次の列を持つ「table1」があります。 ID SavedSearch Price NewLowerPrice
私がする必要があるのは、テーブル 1 から ID と価格を選択し、別のテーブルに対するブール検索で、ユーザーが保存したすべての検索に対して新しい最低価格が設定されている場合は、新しい低価格にフラグを立てることです。ここに私が使用しているコードがありますが、次のブール検索で table1 の保存された検索を使用する方法について行き詰まっています
drop temporary table if exists tmp;
CREATE TEMPORARY TABLE tmp(
ID INT,
Param2 Varchar(300),
LowestPrice decimal(10,2),
LowerPrice bit,
PRIMARY KEY(ID)) ENGINE=MEMORY;
INSERT INTO tmp
SELECT id, Param2, LowestPrice, 0
FROM saved_searches
where user = 28;
UPDATE tmp
set LowerPrice = 1
WHERE (
SELECT MIN(price)
FROM store_sales
WHERE MATCH (description) AGAINST (concat('\'', tmp.Param2, '\'') IN BOOLEAN MODE)) > 0;
「AGAINSTへの引数が正しくありません」という更新でエラーが発生します。前もって感謝します!