Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wykonać takie zapytanie
dresik
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


Witam,
męczę się już od jakiegoś czasu i niewiem jak zrobić takie zapytanie:

np. mając tabele: sql
pole: modul

i przykładowe wpisy:
1-1-1-1-1-1-1
1-1-1-1--1-1
1-1--1-1--1
---1---

i np chce wybrać wiersze które po trzeciej - (kresce) mają 1

  1. SELECT * FROM sql WHERE modul='?'


co dopisać w zapytaniu aby się takie cos pojawiło?
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. SELECT * FROM sql WHERE modul LIKE '%---1%'

ale głowy sobie uciąć nie dam...
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Co ty w tym polu dokładnie przechowujesz?

  1. SELECT * FROM `test` WHERE pole REGEXP "^1?-1?-1?-1"


Wejście:
1-1-1-1-1-1-1
1-1-1-1--1-1
1-1---1--1
---1---

Wyjście:
1-1-1-1-1-1-1
1-1-1-1--1-1
---1---
Go to the top of the page
+Quote Post
dresik
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


Cytat(wookieb @ 28.07.2009, 14:31:30 ) *
Co ty w tym polu dokładnie przechowujesz?


1 lub nic np. 1-1-1-1 lub --1-1--- itp
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No tak ale jakie to ma znaczenie dla systemu? W sensie to są jakieś uprawnienia czy co?
Go to the top of the page
+Quote Post
blooregard
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
1 lub nic np. 1-1-1-1 lub --1-1--- itp

Tobie chyba chodzi o to, że pole może mieć wartość 1 lub - (puste), a ciąg wynikowy z zapytania np. dla pięciu rekordów może mieć postać:
1--1-

tak?
Go to the top of the page
+Quote Post
dresik
post
Post #7





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


Cytat(blooregard @ 28.07.2009, 14:36:38 ) *
Tobie chyba chodzi o to, że pole może mieć wartość 1 lub - (puste), a ciąg wynikowy z zapytania np. dla pięciu rekordów może mieć postać:
1--1-

tak?



tak to chodzi o to że 1 lub puste. To są zapisane ustawienia. 1 oznacza właczony a puste wyłaczony jakiś moduł.
i chce wyszukać wszystkie wiersze w których jest 3 moduł włączony czyli ma 1 po drugiej kresce:

np.
--1...
1-1-1...
1--1...
-1-1..

Cytat(blooregard @ 28.07.2009, 14:30:00 ) *
  1. SELECT * FROM sql WHERE modul LIKE '%---1%'

ale głowy sobie uciąć nie dam...



to nie działa
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




czyli
  1. REGEXP ".{2}1"
Go to the top of the page
+Quote Post
dresik
post
Post #9





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


przepraszam ale jednak mam i 0 w tej bazie np. 0-0-0-1-1--

ale to mi bez róznicy bo tylko sprawdzam czy jest 1 czy nie.

I z tym REGEXP ".{2}1" to nie działa niestety

Ten post edytował dresik 28.07.2009, 14:03:28
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to zmodyfikuj odpowiednio zapytanie z mojego 1 posta tylko zamiast 1? wstaw[0-1]

Ten post edytował wookieb 28.07.2009, 14:09:10
Go to the top of the page
+Quote Post
dresik
post
Post #11





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


ok działa, dzięki wielkie. Ale jak jeszcze to przerobić żeby wybrać dane które mają cyfry inne niż 0 i puste.

bo mam też drugą table gdzie zamist 1 mam numery id danych z innych tabel i chciałbym takie cos zrobić zeby wybrało te wiersze które nie mają np po drugiej kresce 0 lub puste pola,

np. żeby wybrało wpisy które mają:

--23---...
--3---...
-4-222-2...

a żeby pominąć takie:

1-1--111-1
---------
--0----
1-1-0-1-1-1

Ten post edytował dresik 28.07.2009, 14:54:19
Go to the top of the page
+Quote Post
wookieb
post
Post #12





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak trudno było ruszyć tyłek do wyrażen regularnych?
http://doctor.programuj.com/wyraenia-regularne-w-praktyce
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 03:46