![]() |
![]() |
![]()
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 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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 17:04 |