Wszystko co dotyczy tworzenia stron WWW.
Awatar użytkownika

Rublik

Moderator
Posty: 2854
Rejestracja: 25 lut 2009, 16:11
Kontakt:
    Windows 8.1 Chrome

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ć?
"Prawo ponad prawem, państwo w państwie, manipulacja całych ludzi mas. Serwowane nam kłamstwo na kłamstwie, otworzyć oczy obudzić się czas"

Honorowy Członek Mafii C-QUAM


Stacjonarny: Gigabyte GA-H81M-S2H | Celeron G1840 | 4GB DDR3 1333 | Radeon HD4870 512MB | Chieftec GPS-400AA-101A | Seagate ST1000DM3 1TB SATA3 | Windows 10 Pro N
Laptop: Samsung NP300E5A-S06PL | Core i5 2450M | 6GB DDR3 1333 | HD3000 | GT520MX | SanDisk SSD Plus 120GB | Windows 10 Pro
Telefon: Hujawei P8 Lite

Awatar użytkownika

SzymekRak

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

Post08 gru 2014, 20:39

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: 2854
Rejestracja: 25 lut 2009, 16:11
Kontakt:
    Windows 8.1 Chrome

Post08 gru 2014, 23:25

Nadal wypisuje takie nazwiska jak Malinowska czy Paprocka...
"Prawo ponad prawem, państwo w państwie, manipulacja całych ludzi mas. Serwowane nam kłamstwo na kłamstwie, otworzyć oczy obudzić się czas"

Honorowy Członek Mafii C-QUAM


Stacjonarny: Gigabyte GA-H81M-S2H | Celeron G1840 | 4GB DDR3 1333 | Radeon HD4870 512MB | Chieftec GPS-400AA-101A | Seagate ST1000DM3 1TB SATA3 | Windows 10 Pro N
Laptop: Samsung NP300E5A-S06PL | Core i5 2450M | 6GB DDR3 1333 | HD3000 | GT520MX | SanDisk SSD Plus 120GB | Windows 10 Pro
Telefon: Hujawei P8 Lite

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1078
Rejestracja: 29 sie 2013, 12:15
Lokalizacja: Będzin
Kontakt:
    Windows Phone Internet Explorer

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: Laptop: Dell Latitude E7240 | Intel Core i5 4310U | Intel HD 4400 | 8GB RAM Kingston | Samsung SSD 1TB | macOS Mojave
PC: Intel Core i5 2400S @2.5GHz + SilentiumPC SpartanPro | Gateway DT71 | nVidia GeForce GT 640 2GB | 16 GB RAM Kingston| Goodram Iridium Pro SSD 480 GB | Seagate ST2000DM001 HDD 2TB | macOS Mojave
Japko: Apple iPhone 8 | Apple A11 Bionic @2.74 GHz | Apple A11 GPU | 3GB RAM | 64GB PAMIĘCI | iOS 12.1
Sieć: Arris CM3200 + Asus RT-AC1200G+ | SMSNET 200Mb/s
Storage: Seagate BlackArmor NAS 220 | 4TB HDD + 2TB HDD |
PlayStation 4 | CUH-1116A | 1TB |

Inne sprzęty:
Spoilerpokaż
Satelita:
Corab 90cm Black | 2x Inverto Twin Black Premium | Philips 43PFS5301 | Formuler F1 Twin (OpenATV 6.1) | AB Cryptobox 600HD Mini | Hot Bird 13E + Astra 19.2E | Cyfrowy Polsat i nc+
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.3
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

lolasher

Zasłużony użytkownik
Posty: 2400
Rejestracja: 10 paź 2008, 18:28
Lokalizacja: Zadupie pod Siedlcami ;)
Kontakt:
    Macintosh 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: 2854
Rejestracja: 25 lut 2009, 16:11
Kontakt:
    Windows 8.1 Chrome

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.
"Prawo ponad prawem, państwo w państwie, manipulacja całych ludzi mas. Serwowane nam kłamstwo na kłamstwie, otworzyć oczy obudzić się czas"

Honorowy Członek Mafii C-QUAM


Stacjonarny: Gigabyte GA-H81M-S2H | Celeron G1840 | 4GB DDR3 1333 | Radeon HD4870 512MB | Chieftec GPS-400AA-101A | Seagate ST1000DM3 1TB SATA3 | Windows 10 Pro N
Laptop: Samsung NP300E5A-S06PL | Core i5 2450M | 6GB DDR3 1333 | HD3000 | GT520MX | SanDisk SSD Plus 120GB | Windows 10 Pro
Telefon: Hujawei P8 Lite

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość