1

mysql 5 で動作するようにクエリを書き直すのを手伝ってくれる人がいれば、とても感謝しています。誰かが古いクエリを書き直す方法についての堅実で簡単なチュートリアルへのリンクを提供できれば、それも素晴らしいでしょう。

現在の (バージョン 4) クエリは次のようになります。

SELECT
 course.course_code,
 course.course_title_sv AS course_title,
 course.course_u_credits,
 course.course_successive_level_scb_id,
 s.successive_level_scb_order,
 s.successive_level_scb_code,
 LEFT (education_level.edu_level_name_sv, 1) AS course_edu_level, course.course_level, 
 GROUP_CONCAT(DISTINCT h.head_area_hv_title_sv SEPARATOR ', ') AS head_area_hv
FROM
 course, course_event, course_event_package_links, package, education_level
LEFT JOIN
 course_has_head_area_hv ON(course.course_id = course_has_head_area_hv.course_id)
LEFT JOIN
 head_area_hv h ON(h.head_area_hv_id = course_has_head_area_hv.head_area_hv_id)
LEFT JOIN
 successive_level_scb s ON(s.successive_level_scb_id = course.course_successive_level_scb_id)
WHERE
 course.course_edu_level=education_level.edu_level_id AND
 course.course_id=course_event.course_id AND
 course_event.course_event_id=course_event_package_links.course_event_id AND
 course_event_package_links.package_id=package.package_id AND
 course.course_successive_level_scb_id != '' AND
 package.package_id='6318'
GROUP BY course.course_id
4

1 に答える 1

0

交換するだけ

SELECT ... 
FROM course, course_event, course_event_package_links
...
WHERE course.course_id=course_event.course_id 
AND course_event.course_event_id=course_event_package_links.course_event_id

SELECT ...
FROM course
JOIN course_event ON course_event.course_id = course.course_id
JOIN course_event_package_links 
  ON course_event_package_links.course_event_id = course_event.course_event_id
...

エラーメッセージについてですが、本当にcourse.course_id存在しますか? 多分それはに置き換えられましたcourse.course_codeか?

于 2013-03-13T10:52:08.010 に答える