0
我有一個包含4個子查詢的查詢。查詢是這樣的:MySQL子查詢備選
SELECT
(SELECT
COUNT(id)
FROM timelog
WHERE emp_id = 1
AND am_in > GET_TIME_IN1(emp_id, DATE)) AS tardy1,
(SELECT
COUNT(id)
FROM timelog
WHERE emp_id = 1
AND pm_in > GET_TIME_IN2(emp_id, DATE)) AS tardy2,
(SELECT balance FROM leave_credit lc JOIN leave_type lt ON lc.leave_type_id = lt.id WHERE emp_id = 1 AND lt.active = TRUE) AS balance,
(SELECT leave_type_id FROM leave_credit lc JOIN leave_type lt ON lc.leave_type_id = lt.id WHERE emp_id = 1 AND lt.active = TRUE) AS leave_type_id
我做了那樣的,這樣我就只有從PHP 1個查詢字符串到SQL服務器,並得到所有結果中的實例。我知道子查詢可以影響性能,但在我的情況下是否有更好的方法來解決我的問題?
樣本數據: Timelog表
休假信貸表
你能否提供一些示例數據,以便我們可以用sql來擺弄它? –
你的查詢很好。只要分別優化每個4,你就可以了。 –
什麼是GET_TIME_IN1()? –