2015-10-07 6 views
0

У меня есть следующий запроспринести последние 10 заказов whitout повторяющихся

SELECT a.id, a.fecha, a.ser, a.numero, c.nombre_apellido, a.estado, a.tipo, a.articulo, a.precio_asignado, a.retirada, a.pronta, a.precio, a.confirmada, d.marca, a.modelo, a.fecha_prometido, a.fecha_asignado, a.presupuesto, a.cant_llamados 
FROM (
(
(
ordenes_servicio_bitacora b 
LEFT JOIN ordenes_reparaciones a ON b.id_orden = a.id 
) 
LEFT JOIN clientes c ON a.cliente_id = c.id 
) 
LEFT JOIN marcas d ON a.marca_id = d.id 
) 
ORDER BY b.id_bitacora DESC 
LIMIT 10 

и это приносит мне это enter image description here

как вы видите столбец идентификатора заказа повторяются из креста с Bitácora таблицу мне не нужно повторять, любые идеи? Заранее спасибо.

+0

Вам нужно решить, какие другие значения выбрать, когда они разные! – jarlh

+0

Вы используете «bitacora» для упорядочивания строк, но ни один из его столбцов не выводится. Я вижу, что вы используете левые соединения, но вам действительно нужна эта таблица в запросе? – shawnt00

+0

Вы можете использовать разные, если все столбцы повторяются. если нет, мы можем думать по-другому –

ответ

1

DISTINCT должен делать эту работу в вашем случае, поскольку все данные столбцы повторяются для строки не только id колонок:

SELECT DISTINCT 
    a.id, a.fecha, a.ser, a.numero, 
    c.nombre_apellido, a.estado, 
    a.tipo, a.articulo, a.precio_asignado, 
    a.retirada, a.pronta, a.precio, 
    a.confirmada, d.marca, a.modelo, 
    a.fecha_prometido, a.fecha_asignado, 
    a.presupuesto, a.cant_llamados 
FROM ordenes_servicio_bitacora b 
LEFT JOIN ordenes_reparaciones a ON b.id_orden = a.id 
LEFT JOIN clientes c    ON a.cliente_id = c.id 
LEFT JOIN marcas d    ON a.marca_id = d.id 
ORDER BY b.id_bitacora DESC 
LIMIT 10 
+0

Это только столбец идентификатора, который дублируется, а не другие столбцы. – jarlh

+0

@jarlh. Не только «id» все столбцы повторяются для строки, поэтому «отчет» должен исключать всю повторяющуюся строку. –

+0

Извините, может быть, вы правы, это трудно понять, поскольку столбцы справа не видны. – jarlh

0
SELECT a.id, a.fecha, a.ser, a.numero, c.nombre_apellido, a.estado, a.tipo, a.articulo, a.precio_asignado, a.retirada, a.pronta, a.precio, a.confirmada, d.marca, a.modelo, a.fecha_prometido, a.fecha_asignado, a.presupuesto, a.cant_llamados 
FROM (
(
(
(SELECT DISTINCT id_orden 
FROM `ordenes_servicio_bitacora` 
ORDER BY id_bitacora DESC 
LIMIT 10) b 
LEFT JOIN ordenes_reparaciones a ON b.id_orden = a.id 
) 
LEFT JOIN clientes c ON a.cliente_id = c.id 
) 
LEFT JOIN marcas d ON a.marca_id = d.id 
) 

я только что сделал подзапрос и дело сделано , спасибо ответы и комментарии :)

Смежные вопросы