少し遅いですが、うまく動作するこのSQLを持っています。理想的には、where句に余分なサブクエリを入れたいと思っています。そして、country_iso = "uk"のようなものです。WHEREサブクエリを使用してSQLを改善する
SELECT c.content_name, c.content_telephone, c.content_address1
(SELECT w.weblink_url FROM weblinks w WHERE w.content_id = c.content_id ORDER BY w.weblink_ordering, w.weblink_id ASC LIMIT 1)
AS content_url,
(SELECT country_name FROM countries WHERE country_id = c.country_id LIMIT 1)
AS country_name,
(SELECT country_iso FROM countries WHERE country_id = c.country_id LIMIT 1)
AS country_iso
FROM catcontents cc
LEFT JOIN content c ON c.content_id = cc.content_id
WHERE cc.category_id = 7
AND (SELECT country_iso FROM countries WHERE country_id = c.country_id LIMIT 1) = 'uk'
ORDER BY cc.catcontent_ordering ASC, c.content_name ASC
質問は何ですか? – Yuck
国のテーブルを3回クエリする必要がないため、クエリのパフォーマンスが向上するかどうかを尋ねています –
彼はこの部分を変更したいと思っていません:AND(SELECT country_iso FROM countries WHERE country_id = c.country_id LIMIT 1)= 'uk'' –