0
這是我當前的mysql查詢。根據MySQL中子查詢的結果,我可以使用WHERE子句過濾結果嗎?
SELECT t.id, t.customer, t.indicator_tag, t.indicator_manu, t.indicator_model, t.created_at, t.updated_at,
(SELECT status FROM events WHERE ticket_id = t.id ORDER BY created_at DESC LIMIT 1) AS status,
(SELECT CONCAT(firstName, ' ', lastName) FROM users WHERE id = t.created_by) AS created_by,
(SELECT CONCAT(firstName, ' ', lastName) FROM users WHERE id = t.updated_by) AS updated_by
FROM tickets t
WHERE status = 'Pending' OR status = 'Diagnosed' OR status = 'Repaired'
ORDER BY t.customer ASC, status ASC, t.indicator_tag ASC;
的WHERE在上述聲明條款不拋出任何錯誤,但它也沒有任何過濾嘴。我對SQL仍然比較陌生,所以我還沒有深入研究JOINS。我還應該注意到,事件表將爲每張票證提供多個事件,並且第2行的子查詢將只抓取最新的事件。有沒有一種方法可以根據其他表中的數據過濾結果,但只需抓取每張票的最新事件?
換一種方式:
表門票有許多事件
事件屬於票
上面的例子表明,我得到的輸出。請注意,它僅顯示最新狀態,而不是像單張票頁上的所有事件。如果我能提供更多信息,我會很樂意提供。