を選択外にある `u.id`を使用することはできません私は、次のMySQLのクエリを持っている:インナーSELECTは
SELECT
COUNT(b.`id`) AS todayOverdue,
DATE_FORMAT(t.`created_time`, "%Y%m%d") AS days
FROM
`Bill` b
LEFT JOIN `Order` o ON b.`order_id` = o.`id`
LEFT JOIN `Trade` t ON o.`trade_id` = t.`id`
LEFT JOIN `User` u ON b.`user_id` = u.`id`
WHERE
b. `deadline` <= "' . $todayTime . '"
AND b. `deadline` >= "' . $todayDate . '"
AND b.`is_paid` = 0
AND (
SELECT
COUNT(b2.`id`)
FROM
`Bill` b2
WHERE
b2.`deadline` <= "' . $todayTime . '"
AND b2.`user_id` = u.`id`
AND b2.`is_paid` = 0
OR (
b2.`deadline` <= b2.`paid_time`
AND b2.`is_paid` = 1
)
) < 2
GROUP BY
days
なぜSELECT外側にある内側のSELECT使用u.id
できないのですか?
例外はありますか? – 1000111
おそらく入れ子になっている可能性があります – FMashiro
外部SELECTにあるu.idは機能しません、u.'id' = '10004'、内部SELECT this sql:b2.'user_id' = u.'id' no use – Chess