Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Powtarzające się rekordy
mathewZ
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Witam. Zaczynam przygodę z MySQL'em. Mam pewną bazę.

Regał przechowuje półki.
Chcę wyciągnąć wszystkie półki(P1, P2, P3, P4...) z regału(R1) w postaci:
R1
P1
P2
P3
....
Niestety po odpytaniu bazy otrzymuje taki oto wynik:
R1
P1
R1
P2
R1
P3
....
Zapytanie do bazy które wykonuje:

  1. SELECT * FROM regal
  2. INNER JOIN polka
  3. ON(polka.regal_idregal = regal.idregal);


Proszę o pomoc, z góry dziękuję!





Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


  1. SELECT polka AS Regal1 FROM regal, polka WHERE polka.regal_idregal = regal.idregal AND regla.idregal=1
Go to the top of the page
+Quote Post
mathewZ
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Nie działa nadal. Zwraca mi to samo:
http://imageshack.us/photo/my-images/641/screenkk.png/
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #4





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Jaką relację masz pomiędzy tabelami?
Go to the top of the page
+Quote Post
mathewZ
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Relacja 1 do wielu.
"Jeden regał ma wiele półek" - tak to rozumiem
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #6





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Mimo to na moje by było tak jak wyżej. Władować półki do tabeli tymczasowej i winny być same regały. Tam mam w selekcie. Nie da nam nic innego niż zaznaczamy.
  1. SELECT polka AS Regal1 FROM regal, polka WHERE regal.idregal=polka.regal_idregal AND regla.idregal=1


Teraz zerknij i pokaż wynik.

Ten post edytował Zielonkawy18 2.11.2012, 00:24:51
Go to the top of the page
+Quote Post
Damonsson
post
Post #7





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


SELECT polka AS Regal1 FROM regal, polka WHERE regal.idregal=polka.regal_idregal AND regla.idregal=1

Literówka, jakby co.
Go to the top of the page
+Quote Post
mathewZ
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Nadal ten sam efekt co na screenie. Zapytanie lekko doposawanie do moich nazw w tabeli:

  1. SELECT nazwa_regal, nazwa_polka AS Regal1 FROM regal, polka WHERE regal.idregal=polka.regal_idregal AND regal.idregal=1;
Go to the top of the page
+Quote Post
Damonsson
post
Post #9





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Cytat
Mam pewną bazę
= Powróżę Ci, co może być źle.

Pokaż strukturę bazy i co chcesz osiągnąć, bo tak to można w nieskończoność 'pomagać'.

Ten post edytował Damonsson 2.11.2012, 00:33:07
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #10





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


nie rób już nazwa_regla. Sama nazwa_polka
Go to the top of the page
+Quote Post
mathewZ
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Struktura
http://imageshack.us/photo/my-images/5/screenw.png/

Chcę wyciągnąć wszystkie półki(P1, P2, P3, P4...) z wszystkich regałów.
Przykład:
R1
P1
P2
P3

R2
P1
P2
P3
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #12





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


Teraz to już wszystkie (IMG:style_emoticons/default/biggrin.gif) Tutaj dałeś RMBD a jak to wygląda ze strony logicznej?? alter table było? Jeśli tak to jakie.
Go to the top of the page
+Quote Post
mathewZ
post
Post #13





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.11.2012

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


Nie za bardzo wiem o co Ci chodzi - rozwiń swoją myśl
Go to the top of the page
+Quote Post
Damonsson
post
Post #14





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1. SELECT nazwa_polka, regal_idregal FROM polka ORDER BY regal_idregal


To Ci pomoże? Jeśli chcesz mieć już w select wyciągniętą nazwę regału i ustawioną w kolejności, musisz chyba zrobić JOIN'a. Ale, nie chcę mi się myśleć jak to zrobić, ktoś kto się na tym zna, zrobi Ci tego JOINa w sekundę.
Go to the top of the page
+Quote Post
Zielonkawy18
post
Post #15





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


ktoś kto się na tym zna, zrobi Ci tego JOINa w sekundę.


A ja myślę, że to nie jest takie proste i jedyne wyjście to jakaś procedura etc.
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #16





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

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


  1. SELECT idregal, 0 idpolka, nazwa FROM `regal` r
  2. UNION ALL
  3. SELECT p.regal_idregal, idpolka, nazwa_polka FROM `regal` r LEFT JOIN `polka` p ON r.idregal=p.regal_idregal
  4. ORDER BY idregal, idpolka
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: 3.10.2025 - 12:31