У меня есть 2 стола, тикет и ticket_custom.
Вот как настраиваются таблицы. 
У меня есть веб-интерфейс, где я могу изменить состояние (значение в таблице ticket_custom). Веб-интерфейс добавляет новую запись вместо обновления исходной.
ticket name value
1 state Ready for Final Verification
2 state Ready for Final Verification
1 state Verified
Добавлена последняя строка
Так что мне нужно изменить запросы.
SELECT p.value AS __color__,
id AS ticket, summary, component, version, c.value AS state, milestone, t.type AS type,
owner, status,
time AS created,
changetime AS _changetime, description AS _description,
reporter AS _reporter
FROM ticket t, ticket_custom c
LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' AND id = c.ticket
WHERE status <> 'closed' AND id = c.ticket
ORDER BY CAST(p.value AS int), milestone, t.type, time, c.ticket
Запрос теперь возвращает обе записи. Я попытался добавить вложенный выбор в предложении where.
SELECT g.ticket
FROM ticket_custom g
WHERE g.ticket = id
ORDER BY g.ticket DESC LIMIT 1
Итак -
SELECT p.value AS __color__,
id AS ticket, summary, component, version, c.value AS state, milestone, t.type AS type,
owner, status,
time AS created,
changetime AS _changetime, description AS _description,
reporter AS _reporter
FROM ticket t, ticket_custom c
LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' AND id = c.ticket
WHERE status <> 'closed' AND id = c.ticket and (
SELECT g.ticket
FROM ticket_custom g
WHERE g.ticket = id
ORDER BY g.ticket DESC LIMIT 1 )
ORDER BY CAST(p.value AS int), milestone, t.type, time, c.ticket
Очевидно, что я делаю что-то не так.