SQL - Pobranie danych z bazy tylko z najnowszą datą.

SQL - Pobranie danych z bazy tylko z najnowszą datą.
AT
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Witam,

Mam taki problem, potrzebuję pobrać dane do Power Bi aby szybko analizować co się dzieje w danym dniu. Niestety pobierając dane zaczytuje mi wszystko z tabeli (poprzednie dni które nie są mi potrzebne) przez to informacje pobierają się bardzo długo. Zrobiłem zapytanie które pobiera mi dane z konkretnego dnia ale minusem tego jest to że codziennie muszę to edytować żeby zaczytywały mi się prawidłowe informacje. Czy jest możliwość żeby informacje pobierane z bazy były pobierane tylko z najnowszą datą?

Z góry dziękuję za pomoc.

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1

Jako że mowa o powerBi to zakładam, że baza na sqlserver.
Zamiast wpisywać ręcznie datę użyj funkcji getdate()
https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql?view=sql-server-ver15

biela_
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: WPR
  • Postów: 136
0

Zrób sobie w where converta np

Kopiuj
 convert(varchar(10), getdate(),120) = convert(varchar(10), dataZbazy, 120) 
AT
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

GETDATE() nie zda egzaminu bo dane potrzebne są mi też po północy (dane w tabeli po północy i tak mają datę jak na początku czyli jeżeli zaczynam pracę 03.04 to dane po północy i tak mają datę 03.04).
Moje zapytanie SQL wygląda tak, może prościej będzie ja to zobaczycie:

SELECT data,
typ nośnika,
numer nośnika,
gate,
status
FROM tabela WHERE (data={ts '2020-04-02 00:00:00'}) AND (typ nośnika Like 'I%')

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1
Kopiuj
SELECT data,
typ nośnika,
numer nośnika,
gate,
status
FROM tabela WHERE (date > CONVERT (date, GETDATE()) AND (typ nośnika Like 'I%')

To skonwertuj sobie datę do odpowiedniego formatu.
Pisane z palca i zakładam, że nie masz danych z przyszłości.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.