Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zapytanie MySql pilne!, jak stworzyc zapytanie?
imiglis
post
Post #1





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

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


Witam!!!

Mam takie pytanie jak wydac zapytanie MySql tak zeby zostala wyswietlony modeli i odpowiednie marki dla niego??



  1. CREATE TABLE tmarka (
  2. idtmarka INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. nazwa_marki VARCHAR(20) NULL,
  4. PRIMARY KEY(idtmarka)
  5. );
  6.  
  7. CREATE TABLE tmodel (
  8. idtmodel INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  9. nazwa_modelu VARCHAR(20) NULL,
  10. PRIMARY KEY(idtmodel)
  11. );
  12.  
  13. CREATE TABLE tmodel_has_tmarka (
  14. tmodel_idtmodel INTEGER UNSIGNED NOT NULL,
  15. tmarka_idtmarka INTEGER UNSIGNED NOT NULL,
  16. PRIMARY KEY(tmodel_idtmodel, tmarka_idtmarka),
  17. INDEX tmodel_has_tmarka_FKIndex1(tmodel_idtmodel),
  18. INDEX tmodel_has_tmarka_FKIndex2(tmarka_idtmarka)
  19. );
Go to the top of the page
+Quote Post
wijet
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Łódź

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


  1. SELECT marka.nazwa_marki,model.nazwa_modelu
  2. FROM tmarka marka,tmodel model,tmodel_has_tmarka j
  3. WHERE marka.idtmarka = j.tmarka_idtmarka AND model.idtmodel = tmodel_idtmodel


Nazwy kolumn to wybrales koszmarne poco idtmodel wystarczy samo id skoro wiadomo ze to tabela tmodel
Ja bym nie robil trzeciej tabeli do laczenia, jest nie potrzebna, na moj rozum to dany model jest jednej marki
wiec w tabeli tmodel dodal bym tylko pole id_marki


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





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

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


Masz racje z ta tabela łączaca, ale ja mam jeszcze dodac dwie tabele pojemnosc silnik i rocznik prdukcj wiec jak to najoptymalniej zrobic?

dzieki za pomoc

Ten post edytował imiglis 21.03.2007, 21:13:30
Go to the top of the page
+Quote Post
wijet
post
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Łódź

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


Domyslam sie ze te tabele sa potrzebne do jakiejs tabeli glownej przechowujacej konkretne auta,
ja bym zrobil w tej tabeli z autami takie pola id_marki,id_modelu,pojemnosc_silnika,rok_produkcji + jakies inne pola ktore potrzebujesz, i nie rozbijal pojemnosci silnika i roku produkcji na osobne tabele.


--------------------
Go to the top of the page
+Quote Post
imiglis
post
Post #5





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

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


wlasnie nie wiem czy dac to w jednej tabeli bo to ma wygladac niemwiecej jak na tej stronie http://www.autoteile-shopping.de/default.asp?lang=pl zeby uzytkownik kliknol najpierw na marke i wyswietla sie potem modele potem rok produkcji a potem pojemnosc i tak dalej. wiec nie wiem jak to zrobic zeby to spoko dzialalo.

jeszcze jedno bez tej tabeli laczacej wygladalo by to tak
  1. CREATE TABLE marka (
  2. idmarka INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. nazwa_marki VARCHAR(20) NULL,
  4. PRIMARY KEY(idmarka)
  5. );
  6.  
  7. CREATE TABLE model (
  8. idmodel INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  9. idmarka INTEGER UNSIGNED NOT NULL,
  10. nazwa_modelu VARCHAR(20) NULL,
  11. PRIMARY KEY(idmodel,idmarka),
  12. INDEX model_FKIndex1(idmarka)
  13. );


questionmark.gifquestionmark.gif?

Ten post edytował imiglis 21.03.2007, 21:46:15
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: 22.08.2025 - 06:39