나는 2 테이블, ticket 및 ticket_custom을 가지고있다.
다음은 테이블 설정 방법입니다. SQL - 중첩 된 select 문?
나는 웹 인터페이스를 사용하여 티켓 (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를 추가하려고했습니다.
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
분명히 내가 뭔가 잘못하고 있어요. 적어도 하나의 티켓을 가정
동의합니다. 하위 쿼리를 완전히 없앨 수 있어야합니다. –