Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] 2 tabele złaczenie
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


Witam mam dość dziwny przypadek i myśle że ktoś pomoże mi go rozwikłać mam mam dwie tabele nazwy,zamowienia (w tabeli zamówienia mam 2 rekordy i w tabeli nazwy mam też 2 rekordy)

chce je połaczyć ale po złączeniu robia sie 4 rekordy dlaczego nie 2 tyle ze sklejone??
o to jak to robie

  1. SELECT nazwy.name, zamowienia.nazwa_prod
  2. FROM nazwy,zamowienia WHERE nazwy.user=zamowienia.klient

otrzymuje zamiast 2 sklejonych rekordów takie cos :

name | nazwa_prod
Kaska | nazwjakas
kowale | Jakas nazwaasdsad
kowale | nazwjakas
Kaska | Jakas nazwaasdsad

Potrzebuje miesc np w taie postaci

name | nazwa_prod
Kaska | nazwjakas
kowale | Jakas nazwaasdsad








--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




widac dla kazdego nazwy.user odpowiadają dwa rekordy zamowienia.klient
Nie ma więc tu nic dziwnego smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
john_doe
post
Post #3





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


zapytanie wygląda ok. jeśli dostajesz 4 rekordy w wyniku to.... w tabeli zamówień masz, że Kaśka zamówiła dwa przedmioty i ten koleś też.

zrób sobie tak, czytelniej jest
  1.  
  2. SELECT nazwy.name, zamowienia.nazwa_prod
  3.  
  4. FROM nazwy RIGHT JOIN zamowienia ON nazwy.user=zamowienia.klient
  5.  
Go to the top of the page
+Quote Post
kielich
post
Post #4





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


nie no mam 2 zamowienia i dwie wpisane nazwy w 2tebeli jedna nazwa do jednego zamowienia w tej i tej tabeli jest ten sam user kurcze ....

chce dokleic same nazwy do tabeli z zamowieniami a robia sie 4 rekordy tak jakby sie mnożyły ;/ jak dokleic same nazwy do zamowien ;/


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




pokaz dokladnie co zawiera pierwsza tabela i dokladnie co zawiera druga tabela


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A ja myślę, że ma on jakiś bajzel w bazie. Zauważcie, że z dwóch 2-rekordowych tabel zrobił mu połączenie wszyscy do wszystkich czyli pełny iloczyn kartezjański smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




dlatego właśnie chcę by pokazał dokładnie co on tam ma...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kielich
post
Post #8





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


tabela 1 nazwy
id | name | user

782 | Kaska | Steś
781 | kowale | Staś

tabela 2 zamowienia
id | nazwa_prod | klient

1727 | jakasnazwa | Staś
1726 | jaskasnazwa2 | Staś

wszytskie nie wypisywałem tak jak czas czy cena itp

i tą nazwy z name chce dodac do zamowien
tak jest dokładnie


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




"Steś " to literowka? Powinno byc "Staś" ?

No i taki Kowale łączy się z dwoma rekordami popprzez "Staś" czyli jest tak jak mowilismy. Nie wiem skąd u Ciebie takie zdziwienie...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kielich
post
Post #10





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


tak mój blad jest Stas smile.gif czyli nie mozna tego jakos zeby bylo 2 ;/


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
phpion
post
Post #11





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Musiałbyś mieć takie dane:
tabela 1 nazwy
id | name | user
782 | Kaska | kas
781 | kowale | kow

tabela 2 zamowienia
id | nazwa_prod | klient
1727 | jakasnazwa | kas
1726 | jaskasnazwa2 | kow
Go to the top of the page
+Quote Post
kielich
post
Post #12





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


czyli teraz jak połacze to wychodzi ze zamiast 2 zrobił 4 zamowienia ;/

to jak sie nie da to jak moge najposciej i najwydaniej usunac duplikat


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
to jak sie nie da to jak moge najposciej i najwydaniej usunac duplikat
a skad bedziesz wiedzial ktory duplikat chcesz usunać? Oba duplikaty łączą sie z tym samym userem...
Lepiej zaprojektuj baze poprawnie smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kielich
post
Post #14





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


Mam rozwiazenie inne ale nie wiem jak poprostu ununac duplikat moze ktos podac przykład

nospor moze podasz jakies rozwiazanie zebym nie musiał całej bazy rozwalac ;/


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




tabela 1
id | name
782 | Kaska
781 | kowale

tabela 2 zamowienia
id | nazwa_prod | id_user
1727 | jakasnazwa | 782
1726 | jaskasnazwa2 | 781


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kielich
post
Post #16





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


no to ndala nie rozwiazuje mojego problemu lecz przykład jest jak najbardziej prawidłowy i dział .A dlaczego nie rozwiązuje ponieważ zemy pózniej dodac zamowienie bede musiał to id z tabeli 1 wyciagnac z co za tym idzie pózniej while a ja nie moge miec tego while smile.gif w najgorszym przypadku pózniej musiałbym kasowac duplikaty które niewiem jak.W sumie to bybylo najlepsze rozwiazanie.

Ten post edytował kielich 26.10.2009, 14:27:41


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
.A dlaczego nie rozwiązuje ponieważ zemy pózniej dodac zamowienie bede musiał to id z tabeli 1 wyciagnac z co za tym idzie pózniej while a ja nie moge miec tego while w najgorszym przypadku pózniej musiałbym kasowac duplikaty które niewiem jak.W sumie to bybylo najlepsze rozwiazanie.
Nie obraź się, ale nic nie zrozumiałem z tego "bełkotu"...
jaki while, jakie wyciąganie id? Mowisz o przeniesieniu starej bazy na tę nową strukture czy mowisz już o działaniu od początku na nowej strukturze?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kielich
post
Post #18





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

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


No bo przy opisie produktu user wybiera sobie jego nazwe poczym je zapisuje do bazy pózniej wybiera przesyłkę i na samym koncu zamawia(insert z zamówieniem do bazy ).No i tak, musze jakoś połączyć wybrana nazwe ze złożonym zamówieniem, albo przed zapisaniem zamówienia wyciągnąć wybraną nazwe i razem z zamowieniem zapisać (i tu musiałbym użyć while czego niemoge zrobić ponieważ insert lezy w foreach i zamówienie sie zapisuje x2) dlatego mówiłem o kasowaniu double. Naprawde innaczej nie potrafie tego opisac. biggrin.gif


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
nospor
post
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No dobra - ja się poddaje. Każdy kolejny opis zaciąga mnie coraz bardziej w ciemny, niezrozumiały las....
Jak można tak prostą sprawę tak przekombinowac? winksmiley.jpg
No nic, może ktoś inny zrozumie o czym ty do nas rozmawiasz smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
thek
post
Post #20





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nospor... taki bełkot jest w każdym jego temacie winksmiley.jpg Zerknij sobie to sam zobaczysz. Ja już w dwóch innych jego odpowiadam i zawsze kręci nosem, że jakieś pętle nie tak itp. smile.gif
Jak dla mnie, nie rozumie on podstaw leżących w bazach danych. Nie wie dlaczego taka, a nie inna struktura powinna być zastosowana, nie mówiąc już o jej wdrożeniu w życie. Gdybyśmy mu podali zapytanie zwracające zamiast stringa liczbę to pewnie też by się burzył, że to nie ma być tak winksmiley.jpg Nawet o strukturze nie wspominam, bo jakaś zmiana w tabelach pociągnęła by zmianę kodu php. A to moim zdaniem jest już dla niego za trudne bo musiałby wiedzieć gdzie co jest i dostosować do zmian. W jednym z tematów choćby swoich dodaje do koszyka przedmioty, nawet jeśli są one dublami, a z tego co zrozumiałem jego wypowiedź to jeszcze bonusem robi to z input text po nazwie, bez jakiejkolwiek walidacji czy obiekt istnieje w bazie produktów blinksmiley.gif
Dla nas takie coś jest niepojęte, ale próby wyjaśnienia mu i dojścia do sedna jego problemu kończą się masłem maślanym. Po 2 lub 3 próbie jego wyjaśnień o przyczynę problemu dojdziesz do punktu wyjścia i swojego pierwszego proponowanego rozwiązania, które znowu odrzuci z tych samych powodów co kilka postów wyżej. Jakbyś pisał z automatem mającym kilka wbudowanych formułek. A gdy już dojdziecie do czegoś, że działa, to wymyśli nowe problemy, tak jak tutaj z dublami. Ja sobie dałem już spokój z jego tematami bo nawet osoba mająca jakieś podstawy i potrafiąca sensownie pisać potrafiła by zapewne lepiej wyjaśnić czego chce. Uważam nawet, że z niemal kompletnie zieloną w temacie programowania dziewczyną (choćby jolam) łatwiej się porozumieć niż zrozumieć jego wywody.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 08:12