Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak to zsumować ?, dane z 3 tabel
Eek-A-Mouse
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.12.2005

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


Jak zsumować ceny z tabel : owoc1, owoc2 i warzywo, żeby automatycznie wyświetlały sume w tabeli "koszyk" po wybraniu odpowiednich danych np.

Żeby po wybraniu : arbuz + mandarynka + ziemniak w tabeli "koszyk" w
rekordzie "cena" wyskakiwało 110 (11+33+66) ?



owoc1

| ID_owocu1 | owoc1 | cena |
-------------------------------------------
| 1 | arbuz | 11 |
| 2 | pomarańcza | 22 |

owoc2

| ID_owocu2 | owoc2 | cena |
--------------------------------------------
| 1 | mandarynka | 33 |
| 2 | jabłko | 44 |

warzywo

| ID_warzywa | warzywo | cena |
--------------------------------------------
| 1 | pomidor | 55 |
| 2 | ziemniak | 66 |
Koszyk

| ID_koszyka | owoc1 | owoc2 | warzywo | cena |
-----------------------------------------------------------
____________"wybór" "wybór" "wybór" questionmark.gifquestionmark.gifquestionmark.gif

Pytanie wszechmiar głupie, ale odpowiedź byłaby bardzo mile widziana.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. SELECT SUM(cena)
  2. FROM ( SELECT cena
  3. FROM tabela1 UNION
  4. SELECT cena
  5. FROM tabela2 UNION
  6. SELECT cena
  7. FROM tabela3 )


Mam nadzieje ze ten przyklad Ci wystarczy


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





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




ja troche nie na temat, ale jak widze takie struktury jak ta to aż w sercu ściska.
Pokazales nam tu 3 tabele. One są identyczne, wiec na grzyba je rozbijac na 3? Zrob jedną, dodaj dodatkowe pole typ i po sprawie

Kod
warzywo_owoc :)
id | nazwa | cena | typ

gdzie typ przyjmowac moze wartosci:
1 - owoc 1
2 - owoc 2
3 - warzywo.

nawet bym sie zastanowil na 1 i 2 bo po co to rozbijac na dwa owoce?


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

"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
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


No tez mi sie to dziwne wydalo. Ale staralem sie odpowiedziec na pytanie odnosnie takiego schematu bazy.


--------------------
Go to the top of the page
+Quote Post
Eek-A-Mouse
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.12.2005

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


Po pierwsze przykład jest taki (niezależnie od tego jak głupi wam się wydaje) dlatego, że taki został mi podany i żadnych skrót, ułatwień i udziwnień nie można zastosować.
Po drugie odpowiedź napisana pzez SongoQ nie pomogła (albo ja niepotrafiłem jej poprawie odczytać) uwierzcie mi : Ja + SQL = porażka, dlatego bardzo mi zależny na odpowiedzi, którą można by poprostu skopiować i wkleić do programu tak żeby zadziałało łącznie ze wszystkimi spacjami, przecinkami, dwukropkami itd. i oczywiście poprawnym oznaczeniem tabel z których pobierane są dane czyli : owoc1, owoc2 i warzywo a nie tabela1, tabela2 i tabela3

Dla kogoś kto ma w miare podstawowe pojęcie o SQL powinno to być proste, dlatego czekam na kogoś kto się zlituje i mi to wyośli smile.gif
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Mowisz, masz.
Zeby zadzialalo to co napisalem musisz miec MySQLa z mozliwosci podzapytan (podselectow) czyli z tego co pamietam 4.1.x

Zapytanie, ktore da CI taki rezultat jaki oczekujesz

  1. SELECT ID_koszyka, owoc1.owoc1, owoc2.owoc2 warzywo.warzywo, (owoc1.cena + owoc2.cena + warzywo.cena) AS cena
  2. FROM koszyk, owoc1, owoc2, warzywo
  3. WHERE koszyk.owoc1_id = owoc1.ID_owocu1 AND koszyk.owoc2_id = owoc2.ID_owocu2 AND koszyk.warzywo_id = warzywo.ID_warzywa AND koszyk.id


W tabeli koszyk masz id owoc1, owoc2, warzywo. O takie zapytanie Ci chodzilo. Bo z tresci tak zrozumialem.


--------------------
Go to the top of the page
+Quote Post

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: 20.08.2025 - 09:02