Wszystko co dotyczy tworzenia stron WWW.
Awatar użytkownika

Rublik

Moderator
Posty: 2878
Rejestracja: 25 lut 2009, 16:11
Lokalizacja: Brzesko
    Windows 8.1 Chrome
Kontakt:

Post08 gru 2014, 18:41

Niby drobiazg, a jednak :D
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ć?
A w sumie na chuj mi ten podpis xD

Awatar użytkownika

SzymekRak

Zasłużony użytkownik
Posty: 548
Rejestracja: 09 lip 2008, 11:55
Lokalizacja: gdzieś bardzo daleko
    Windows 8.1 Firefox

Post08 gru 2014, 20:39

Rublik pisze:Niby drobiazg, a jednak :D
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ć?
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:

Kod: Zaznacz cały

select * from klienci
where nazwisko like '%k%a%' or nazwisko like 'K%a%'
nie wiem

Awatar użytkownika

Rublik

Moderator
Posty: 2878
Rejestracja: 25 lut 2009, 16:11
Lokalizacja: Brzesko
    Windows 8.1 Chrome
Kontakt:

Post08 gru 2014, 23:25

Nadal wypisuje takie nazwiska jak Malinowska czy Paprocka...
A w sumie na chuj mi ten podpis xD

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1437
Rejestracja: 29 sie 2013, 13:15
    Mac OS X Android

Post09 gru 2014, 6:55

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 _ .

Kod: Zaznacz cały

select * from klienci
where nazwisko like '_k%a%' or nazwisko like 'K_a%'
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)
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|

Awatar użytkownika

lolasher

Zasłużony użytkownik
Posty: 2432
Rejestracja: 10 paź 2008, 19:28
Lokalizacja: Zadupie pod Siedlcami ;)
    Mac OS X Safari

Post09 gru 2014, 11:44

To mam rozumieć, że trzeba ręcznie sprawdzać każdą literę w ciągu? A nie dałoby się w zamienić tej podłogi na gwiazdkę?

Awatar użytkownika

Rublik

Moderator
Posty: 2878
Rejestracja: 25 lut 2009, 16:11
Lokalizacja: Brzesko
    Windows 8.1 Chrome
Kontakt:

Post09 gru 2014, 14:57

winuser, Twoja kwerenda zwraca 0 wyników :P
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 4 gości