を制限する私は、大規模なSQLステートメントを持っているとMySQL 5.7にアップグレードした後、私は次のエラーを取得する:間違った使い方や
incorrect usage of union and limit
これは最初のクエリです:
SELECT tx_wbfincas_domain_model_finca.*,
helper.*
FROM tx_wbfincas_domain_model_finca
LEFT JOIN tx_wbfincas_domain_model_finca_searchhelper AS helper
ON tx_wbfincas_domain_model_finca.uid = helper.finca_uid
WHERE hidden=0
AND deleted=0
AND helper.persons =
(
SELECT IF(Min(shelper.persons) IS NULL, 1000, Min(shelper.persons)) as tb1
FROM tx_wbfincas_domain_model_finca_searchhelper AS shelper
WHERE shelper.finca_uid = tx_wbfincas_domain_model_finca.uid limit 1
UNION
(
SELECT max(shelper.persons) AS tb1
FROM tx_wbfincas_domain_model_finca_searchhelper AS shelper
WHERE shelper.finca_uid = tx_wbfincas_domain_model_finca.uid limit 1)
ORDER BY tb1 ASC limit 1)
AND uid IN
(
SELECT uid_local
FROM tx_wbfincas_finca_category_mm
WHERE uid_foreign=4)
GROUP BY uid
ORDER BY min_price ASC ;
https://pastebin.com/H2eaNzJ6
私はすでに試しましたこのように、より多くの括弧を挿入するには:
SELECT tx_wbfincas_domain_model_finca.*,
helper.*
FROM tx_wbfincas_domain_model_finca
LEFT JOIN tx_wbfincas_domain_model_finca_searchhelper AS helper
ON tx_wbfincas_domain_model_finca.uid = helper.finca_uid
WHERE hidden=0
AND deleted=0
AND helper.persons =
((SELECT IF(Min(shelper.persons) IS NULL, 1000, Min(shelper.persons)) as tb1
FROM tx_wbfincas_domain_model_finca_searchhelper AS shelper
WHERE shelper.finca_uid = tx_wbfincas_domain_model_finca.uid limit 1)
UNION
(SELECT max(shelper.persons) as tb1
FROM tx_wbfincas_domain_model_finca_searchhelper AS shelper
WHERE shelper.finca_uid = tx_wbfincas_domain_model_finca.uid limit 1)
ORDER BY tb1 ASC limit 1)
AND uid IN
(SELECT uid_local
FROM tx_wbfincas_finca_category_mm
WHERE uid_foreign=4)
GROUP BY uid
ORDER BY min_price ASC ;
https://pastebin.com/mctaxTNL
しかし、私は別のエラーが表示されます。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION'
私はここで間違っていますか?
コードダンプこの大は釈明する問題文を必要とします。私の頭の上から、私はそれらのネストしたサブクエリの少なくともいくつかを取り除くことができると確信しています。 –
この選択でアーカイブをしようとしています...連合...選択しますか?あなたは結果として何を期待していますか? – BrenoQ