使用INNER JOIN有限制吗?
原始查询(工作正常)我受影响了77行
SELECT atendimento.id, atendimento.responsavel, atendimento.ocorrencia,
atendimento.idcontrato, cliente.nome as clinome, cliente.id as cliid,
atendimento.d_ini, usuario.apelido, tipos.descricao, tipos.id as tip
FROM atendimento
INNER JOIN cliente ON atendimento.cliente=cliente.id
INNER JOIN usuario ON atendimento.usuario=usuario.id
INNER JOIN tipos ON atendimento.status=tipos.id
WHERE 1=1 AND (atendimento.status=10 OR atendimento.status=11)
ORDER BY tipos.id, atendimento.d_ini ASC
新尝试:(效果不佳)仅限于受影响的17行。除了查询中仅返回的17行外,此处的结果相同。
SELECT atendimento.id, atendimento.responsavel, atendimento.ocorrencia,
atendimento.idcontrato, atend_os.protocolo, atend_os.tecnico,
cliente.nome as clinome, cliente.id as cliid, atendimento.d_ini,
usuario.apelido, tipos.descricao, tipos.id as tip
FROM atendimento
INNER JOIN atend_os ON atendimento.id=atend_os.protocolo
INNER JOIN cliente ON atendimento.cliente=cliente.id
INNER JOIN usuario ON atendimento.usuario=usuario.id
INNER JOIN tipos ON atendimento.status=tipos.id
WHERE 1=1 AND (atendimento.status=10 OR atendimento.status=11)
ORDER BY tipos.id, atendimento.d_ini ASC
这是怎么了?有人知道结果为什么会改变吗?
非常感谢您提供任何信息!
最佳答案
尝试
SELECT atendimento.id, atendimento.responsavel, atendimento.ocorrencia,
atendimento.idcontrato, atend_os.protocolo, atend_os.tecnico,
cliente.nome as clinome, cliente.id as cliid, atendimento.d_ini,
usuario.apelido, tipos.descricao, tipos.id as tip
FROM atendimento
INNER JOIN cliente ON atendimento.cliente=cliente.id
INNER JOIN usuario ON atendimento.usuario=usuario.id
INNER JOIN tipos ON atendimento.status=tipos.id
LEFT JOIN atend_os ON atendimento.id=atend_os.protocolo
WHERE 1=1 AND (atendimento.status=10 OR atendimento.status=11)
ORDER BY tipos.id, atendimento.d_ini ASC
看看有多少行具有atend_os.protocolo = NULL