【发布时间】:2015-10-25 23:46:56
【问题描述】:
这是我当前的 mysql 查询。
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 行的子查询将只获取最新的事件。有没有办法根据另一个表中的数据过滤结果,但只抓取每张票的最新事件?
换一种说法:
表门票有很多活动
属于门票的活动
上面的示例将显示我得到的输出。请注意,它仅显示最新状态,而不是像单个票证页面上那样显示所有事件。如果我能提供更多信息,我很乐意提供帮助。
【问题讨论】:
标签: mysql node.js node-mysql