0
我在select語句中有一個子查詢,我需要根據基本查詢找到一個計數。如果我對需要計數的course_id進行硬編碼(除此之外,計數僅用於列出相同的課程),但是當我將其更改爲使用列出的course_id時,它會返回1054-未知列錯誤。在選擇未知列的mysql子查詢
錯誤SQL
SELECT
c.course_id,
c.course_name,
(SELECT COUNT(wpt_users_id)
FROM (SELECT course_activity.wpt_users_id, course_activity.course_id, min(course_activity.course_activity_entry_dt)
FROM wpt_user_subscriptions
JOIN course_activity ON course_activity.wpt_users_id = wpt_user_subscriptions.wpt_users_id
WHERE wpt_user_subscriptions.wpt_subscription_id = 35
AND course_activity.course_id = c.course_id
GROUP BY course_activity.wpt_users_id, course_activity.course_id) sub1) as course_count
FROM `wpt_subscription_course` sc
JOIN course c ON c.course_id = sc.course_id
WHERE sc.`wpt_subscription_id` = 35
返回:MySQL表示: - :
SELECT
c.course_id,
c.course_name,
(SELECT COUNT(wpt_users_id)
FROM (SELECT course_activity.wpt_users_id, course_activity.course_id, min(course_activity.course_activity_entry_dt)
FROM wpt_user_subscriptions
JOIN course_activity ON course_activity.wpt_users_id = wpt_user_subscriptions.wpt_users_id
WHERE wpt_user_subscriptions.wpt_subscription_id = 35
AND course_activity.course_id = 9
GROUP BY course_activity.wpt_users_id, course_activity.course_id) sub1) as course_count
FROM `wpt_subscription_course` sc
JOIN course c ON c.course_id = sc.course_id
WHERE sc.`wpt_subscription_id` = 35
有什麼想法#1054未知列在 'where子句'
將運行SQL 'c.course_id'爲什麼當它拼寫正確但不工作時它不工作。
環境規格:
[[Database server]] Server type: MariaDB Server version: 5.5.41-MariaDB - MariaDB Server Protocol version: 10 [[phpMyAdmin]] Version information: 4.4.8, latest stable version: 4.4.10 [[Web server]] Apache/2.4.6 (CentOS) PHP/5.4.16 Database client version: libmysql - 5.5.41-MariaDB PHP extension: mysqli Documentation PHP version: 5.4.16
感謝。
更