He la siguiente tabla en SQL Server 2008:SELECT DISTINCT con LEFT JOIN, ordenados por en t-SQL
CREATE TABLE tbl (ID INT, dtIn DATETIME2, dtOut DATETIME2, Type INT)
INSERT tbl VALUES
(1, '05:00', '6:00', 1),
(2, '05:00', '7:00', 1),
(3, '05:01', '8:00', 1),
(4, '05:00', '8:00', 1),
(5, '05:00', '6:00', 2),
(6, '05:00', '7:00', 2)
que selecciona ID de todos los registros del mismo tipo, con la misma fecha dtIn, ordenada por Stout en orden ascendente:
SELECT DISTINCT tbl.id FROM tbl
LEFT JOIN tbl AS t1
ON tbl.type = t1.type AND
tbl.dtIn = t1.dtIn
ORDER BY tbl.dtOut ASC
Pero me da un error:
ORDER BY items must appear in the select list if SELECT DISTINCT is specified
he intentado poner que ORDER BY en d diferentes lugares y todo parece no funcionar. ¿Qué estoy haciendo mal aquí?
Como el mensaje de error dice claramente: si está utilizando 'SELECT DISTINCT', las columnas especificadas en la cláusula' ORDER BY' también deben aparecer en la lista de columnas seleccionadas, por lo tanto, use 'SELECT DISTINCT tbl.id , tbl.dtOut FROM ..... ' –
Oh. Ya veo. Entonces tengo que seleccionarlos también. Hmm ... requisito interesante ... pero, bueno ... – ahmd0