Ho la seguente tabella in SQL Server 2008:SELECT DISTINCT con LEFT JOIN, ordinate per in 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)
che seleziona gli ID di tutti i record dello stesso tipo, con la stessa data dtIn, ordinata da Stout in ordine crescente:
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
Ma mi dà un errore:
ORDER BY items must appear in the select list if SELECT DISTINCT is specified
ho provato a mettere che ORDER bY in d posti diversi e tutto ciò non sembra funzionare. Cosa sto facendo di sbagliato qui?
Come dice chiaramente il messaggio di errore: se stai usando 'SELECT DISTINCT', allora le colonne specificate nella clausola' ORDER BY' devono apparire anche nella lista di colonne selezionate - quindi usa 'SELECT DISTINCT tbl.id , tbl.dtOut FROM ..... ' –
Oh. Io vedo. Quindi devo selezionare anche loro. Hmm ... requisito interessante ... ma, oh beh ... – ahmd0