0
トラック用のメンテナンスレコードのMySQLデータベースを検索しようとしています。私が探しているテーブルは、Maintenance、Truck、maintenance_partsです。メンテナンステーブルのスコアに追加するトラックとメンテナンスのパーツテーブルからFULLTEXTスコアを取得するには、何が必要ですか?MySQL FULLTEXT複数のテーブルの得点
SELECT maintenance_id, some_id, type_code, service_date, mileage, mg_id, mg_type, comments, work_done,
MATCH(comments, work_done) AGAINST('valve tire') AS score
FROM maintenance
WHERE type_code = 'truck'
AND some_id IN (
SELECT truck_id FROM truck
WHERE MATCH(truck_number, make, model, engine, vin_number, transmission_number, comments) AGAINST('P')
OR truck_number LIKE '%P%'
)
AND maintenance_id IN(
SELECT maintenance_id FROM maintenance_parts WHERE MATCH(part_num, part_desc, part_ref) AGAINST('valve tire')
)
OR MATCH(comments, work_done) AGAINST('valve tire')
AND status = 'A' ORDER BY score DESC LIMIT 0, 30
サブクエリを排除するためにクエリを書き直す必要があります。サブクエリを排除するには、サブクエリを削除してください。サブクエリのフルテキスト検索が親クエリまで移動すると、そこにスコアに参加することができます。 –
1文字の長さの単語/文字列と一致しています... – ajreal
@Marc B - ありがとうございました。あなたがあなたの答えを加えたら私はそれを受け入れます。 –