Niby drobiazg, a jednak
Przypuśćmy, że nazwisko ma ileś tam liter. W bazie znajduje się 20 nazwisk i mam wyświetlić te, które zawierają w sobie litery K i A w wymienionej kolejności, czyli na przykład nie Malinowska, bo już druga litera to A zamiast K, a np. pasuje Kowalski, bo kolejność K i A jest prawidłowa.
Na razie zatrzymałem się na następującej kwerendzie:
select * from klienci
where nazwisko like '%k%' or nazwisko like '%a%'
ale nadal wypisuje panią Malinowską. Jak ja mam to poprawić?
-
SzymekRak
- Zasłużony użytkownik
- Posty: 548
- Rejestracja: 09 lip 2008, 11:55
- Lokalizacja: gdzieś bardzo daleko
Moim zdaniem to zapytanie wypisuje wszystko, co spełnia taki warunek: "jest cokolwiek, potem k, potem znowu cokolwiek" lub "jest cokolwiek, potem a, potem znowu cokolwiek". Może coś takiego:Rublik pisze:Niby drobiazg, a jednak
Przypuśćmy, że nazwisko ma ileś tam liter. W bazie znajduje się 20 nazwisk i mam wyświetlić te, które zawierają w sobie litery K i A w wymienionej kolejności, czyli na przykład nie Malinowska, bo już druga litera to A zamiast K, a np. pasuje Kowalski, bo kolejność K i A jest prawidłowa.
Na razie zatrzymałem się na następującej kwerendzie:
select * from klienci
where nazwisko like '%k%' or nazwisko like '%a%'
ale nadal wypisuje panią Malinowską. Jak ja mam to poprawić?
Kod: Zaznacz cały
select * from klienci
where nazwisko like '%k%a%' or nazwisko like 'K%a%'
nie wiem
Tam się czasem znaku podłogi nie używało, żeby ustawić kolejność liter ? Coś mi świta, że tak.
Sprawdziłem i tak, musisz zastąpić znak % znakiem _ .
Pokazuje nazwiska z drugą literą k mające w sobie literę a lub mające pierwszą literę K i trzecią a. Inne robisz analogicznie (znak _ zastępuje dowolny znak)
Sprawdziłem i tak, musisz zastąpić znak % znakiem _ .
Kod: Zaznacz cały
select * from klienci
where nazwisko like '_k%a%' or nazwisko like 'K_a%'
Laptop: Lenovo ThinkPad T480s | Intel Core i5 8250U | Intel HD 620 | 24GB RAM Hynix | Lexar NM620 NVME 1TB | Windows 10 Pro
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows Vista SP3
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia GTX 760 2GB | 20GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 14
Serwer: AsRock AD2550-ITX | Intel Atom D2550 | PowerVR SGX545 | 8GB RAM Kingston | WD HDD 500GB | Windows Server 2012 R2 Datacenter
Sieć: Cudy WR3000 Wi-Fi 6 OpenWRT| Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows Vista SP3
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia GTX 760 2GB | 20GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 14
Serwer: AsRock AD2550-ITX | Intel Atom D2550 | PowerVR SGX545 | 8GB RAM Kingston | WD HDD 500GB | Windows Server 2012 R2 Datacenter
Sieć: Cudy WR3000 Wi-Fi 6 OpenWRT| Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|
winuser, Twoja kwerenda zwraca 0 wyników
lolasher, chyba tak ma to działać, w przypadku napotkaniu jako pierwszej litery A ma tego nazwiska nie wypisywać, tak samo, jak znajdzie K, ale nie wyszuka A.
lolasher, chyba tak ma to działać, w przypadku napotkaniu jako pierwszej litery A ma tego nazwiska nie wypisywać, tak samo, jak znajdzie K, ale nie wyszuka A.
A w sumie na chuj mi ten podpis xD
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości