![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 10.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam bazę danych w której mam kolumny z cyframi (cyfra1, cyfra2,cyfra3,...,cyfra12). Jakie napisać zapytanie SQL w którym podam kilka cyfr (3,4,5 lub 6) i jeżeli w danym wierszu znajdzie podane cyfry to wypisze wiersz... Dla 6 i 5 cyfr napisałem zapytanie ale jest ono bardzo długie i dla 4 i 3 cyfr już nie potrafie;] Wersja dla 6
To zapytanie szuka czy są wiersze które zawierają liczy 1,2,3,4,5,6... Dla 5 liczb zapytanie jest kilka razy dłuższe bo wchodzą kombinacje:/ O 4 i 3 liczbach nawet nie wspomnę... Jest jakiś inny sposób na zrobienie zapytanie, które będzie działać i będzie krótsze? Z góry dzięki! Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast = używaj IN
Ten post edytował JoShiMa 31.07.2008, 09:42:48 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wszystkie z tych liczb mają się znaleźć w jednym wierszu, to:
PS. Jeśli masz taką strukturę tabeli: Kod +------+----------+----------+----------+ | ID | cyfra1 | cyfra2 | cyfra3 | +------+----------+----------+----------+ | 1 | 3 | 4 | 5 | | 2 | 1 | 8 | 9 | to zastanów się, czy nie łatwiej byłoby ci przerobić ją na: Kod +------+---------------+-----------------+ | ID | cyfra_numer | cyfra_wartosc | +------+---------------+-----------------+ | 1 | 1 | 3 | | 1 | 2 | 4 | | 1 | 3 | 5 | | 2 | 1 | 1 | | 2 | 2 | 8 | | 2 | 3 | 9 | Znacznie uprościłoby to tego typu zapytania. -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 08:17 |