[MSSQL]Problem z zapytaniem select |
[MSSQL]Problem z zapytaniem select |
29.06.2012, 14:33:01
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.06.2012 Ostrzeżenie: (0%) |
Mam problem z zapytaniem. Chcę żeby w zależności od tego czy wartość danej kolumny jest w zadanym przedziale był brany pod uwagę wybrany wiersz lub nie. Próbowałem użyć CASE ale nie działa mi to zapytanie. Możecie pomóc ?
|
|
|
29.06.2012, 14:57:41
Post
#2
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) |
Może spróbuj z BETWEEN ?
-------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
29.06.2012, 17:07:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.06.2012 Ostrzeżenie: (0%) |
Dokładnie to mam taką sytuację:
Chcę zsumować tylko takie wiersze w których kolumna TrN_GIDTyp ma którąś z wartości (2033, 2037, 2041, 2045, 1824, 1828) i jednocześnie kolumna TrN_SpiTyp jest równa zero. Dodatkowo kolumna TrN_GIDTyp ma którąś z wartości (2034, 2042) i jednocześnie kolumna TrN_SpiTyp jest różna od zera. Jakiś pomysł ? |
|
|
29.06.2012, 17:52:40
Post
#4
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) |
To zapewne coś takiego:
Pozdrawiam. Ten post edytował tolomei 29.06.2012, 17:54:14 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
29.06.2012, 18:08:25
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.06.2012 Ostrzeżenie: (0%) |
Dzięki. Poprawiłem zapytanie i je trochę rozbudowałem. Teraz wygląda tak:
WHERE (TrN_GIDTyp IN (2033,2037,2041,2045,1824,1828) AND TrN_SpiTyp <> 0 AND TRN_DATA2>= DATEDIFF (DD,'18001228', '20120501' )AND TRN_DATA2<= DATEDIFF (DD,'18001228', '20120531' )AND Knt_Akronim <> 'ABC') OR (TrN_GIDTyp IN (2034,2042) AND TrN_SpiTyp = 0 AND TRN_DATA2>= DATEDIFF (DD,'18001228', '20120501' )AND TRN_DATA2<= DATEDIFF (DD,'18001228', '20120531' )AND Knt_Akronim <> 'ABC') Czy można je jakoś przerobić żeby nie trzeba było powielać tych warunków ? TRN_DATA2>= DATEDIFF (DD,'18001228', '20120501' )AND TRN_DATA2<= DATEDIFF (DD,'18001228', '20120531' )AND Knt_Akronim <> 'ABC' Ten post edytował gangi 29.06.2012, 19:32:39 |
|
|
19.02.2013, 21:13:24
Post
#6
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
|
|
|
19.02.2013, 21:41:35
Post
#7
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) |
Temat z przed ponad pół roku
Przyznaj się nudziło Ci się -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 13:51 |