我正在尝试运行此SQL查询:
SELECT t.*, tu.*, t.contact_name as contact_name,
t.contact_email as contact_email, t.ticketnumber as ticketnumber,
t.subject as subject
FROM tickets t, ticket_updates tu
WHERE t.ticketnumber = tu.ticketnumber
AND tu.type = 'update' AND tu.customer <> 'Y'
AND t.status = 'Awaiting Customer' AND tu.datetime <= '2014-10-18 16:26:00'
order by tu.datetime DESC LIMIT 0,5
它返回了正确的结果,但显示了同一行的倍数
尝试选择DISTINCT:
SELECT DISTINCT t.*, tu.*...
或者您可以尝试GROUP BY:
SELECT t.*, tu.*, t.contact_name as contact_name, t.contact_email as contact_email,
t.ticketnumber as ticketnumber, t.subject as subject
FROM tickets t, ticket_updates tu
WHERE t.ticketnumber = tu.ticketnumber AND
tu.type = 'update' AND tu.customer <> 'Y' AND
t.status = 'Awaiting Customer' AND
tu.datetime <= '2014-10-18 16:26:00'
GROUP BY tu.`id`
order by tu.datetime DESC LIMIT 0,5
为了快速修复,您可以使用SELECT DISTINCT
。不过,通常情况下,重复提示数据库和/或联接条件存在问题。因此,请确保表中没有重复项,并且连接条件正确。