Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Pobieranie rekordu z bazy zależne od innego rekordu
marekdominikowsk...
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.11.2013

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


Cześć

Mam tabelę, w której w jednej z kolumn znajdują się jakieś powtarzające się wartości. Niech to będą na przykład A, B, C, D, E, F. Potrzebuję pobrać np. rekordy A, ale tylko te, które występują bezpośrednio po np. B albo po np. B lub C.

Na przykład:

1. B
2. A
3. D
4. A
5. C
6. A
7. B
8. A

Dla "A po B" zapytanie zwróci rekordy 2 i 8.
Dla "A po B lub C" zapytanie zwróci rekordy 2, 6 i 8.

Jak takie zapytanie skonstruować?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. /*
  2. create table xxc(id int, x varchar(10));
  3. insert into xxc values(1, 'B'),(2, 'A'), (3, 'D'),(4, 'A'), (5, 'C'), (6, 'A'), (7, 'B'), (8, 'A');
  4. */
  5.  
  6. -- 1.
  7. SELECT x1.id FROM xxc x1 JOIN xxc x2 ON x1.id=x2.id+1
  8. WHERE x1.x='A' AND x2.x IN ('B');
  9. -- 2.
  10. SELECT x1.id FROM xxc x1 JOIN xxc x2 ON x1.id=x2.id+1
  11. WHERE x1.x='A' AND x2.x IN ('B', 'C');

Tak na szybko... Dlatego MUSI zachodzić warunek ciągłości id.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 14:54