sytuację:wybrać inny Max identyfikatory dla innego klienta
mamy miesięczne pliki, które są ładowane do naszej hurtowni danych, jednak zamiast zastąpić starych obciążeń, są one po prostu skompilowane na szczycie siebie. pliki są ładowane w ciągu kilku dni.
więc po uruchomieniu skryptu SQL, chcielibyśmy dostać zduplikowane rekordy, tak aby przeciwdziałać tym prowadzimy unii ciągu 10-20 „klientów” i wybranie Max (loadID) np
SELECT
Customer
column 2
column 3
FROM
MyTable
WHERE
LOADID = (SELECT MAX (LOADID) FROM MyTable WHERE Customer= 'ASDA')
UNION
SELECT
Customer
column 2
column 3
FROM
MyTable
WHERE
LOADID = (SELECT MAX (LOADID) FROM MyTable WHERE Customer= 'TESCO'
Powyższy związek musiałby do zrobienia dla wielu klientów, więc myślałem, że musi być bardziej efektywny sposób.
Nie możemy używać wartości MAX (LoadID) w instrukcji SELECT, ponieważ możliwy scenariusz może pociągać za sobą następujące;
Poniedziałek: Asda, Tesco, Waitrose załadowany do DW (z LoadID jako 124)
Wtorek: Sainsburys załadowany DW (z LoadID jako 125)
Środa: Nowy Tesco załadowany DW (z LoadID jako 126)
więc chciałbym LoadID 124 Asda & Waitrose, 125 Sainsburys, & 126 Tesco
To !! mamy zwycięzcę! Dzięki Gordon. Tak więc zadałem 2 pytania i oba dotyczą "PARTYCJI PRZEZ", więc zgadnij, co będę czytać! – sam