だから、私は次のクエリを変更しようとしています:
SELECT *
FROM flow
INNER JOIN flow_strings
USING(node_id)
WHERE
(
flow.parent = 0
OR flow.parent = :user_flow
)
AND flow.source = 0
AND :input LIKE CONCAT('%', flow_strings.sql_regex, '%')
ORDER BY flow.parent DESC, RAND()
クエリは、想定どおりに機能します。ただし、少し変更する必要があります。priority
テーブルのINT列を想定して、に等しいflow
結果のみを取得するように変更するにはどうすればよいですか?flow.priority
MAX(priority)
つまり、クエリが実行するのとまったく同じように実行する必要がありますが、優先度の値がある場合は、最も高い優先度からのみ選択するようにします。優先度の高い値が複数ある場合は、両方を選択する必要があります。
同じ質問をしているように見えるStackOverflowの他の投稿を見たことがありますが、回答は解決策を説明していないようです。それらは回答を投稿するだけです。何が起こっているのか説明していただければ幸いです!ありがとう!