Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tabele cięzkie do połączenia
Forum PHP.pl > Forum > Bazy danych > MySQL
Avatarus
witam
mam 3 tabele które trzeba połączyć.
  1. CREATE TABLE IF NOT EXISTS `ekwipunek_graczy` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `id_gracza` bigint(20) UNSIGNED NOT NULL,
  4. `slot_1` int(10) UNSIGNED NOT NULL,
  5. `slot_2` int(10) UNSIGNED NOT NULL,
  6. `slot_3` int(10) UNSIGNED NOT NULL,
  7. `slot_4` int(10) UNSIGNED NOT NULL,
  8. `slot_5` int(10) UNSIGNED NOT NULL,
  9. `slot_6` int(10) UNSIGNED NOT NULL,
  10. `slot_7` int(10) UNSIGNED NOT NULL,
  11. `slot_8` int(10) UNSIGNED NOT NULL,
  12. `slot_9` int(10) UNSIGNED NOT NULL,
  13. `slot_10` int(10) UNSIGNED NOT NULL,
  14. PRIMARY KEY (`id`)
  15. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;


  1. CREATE TABLE IF NOT EXISTS `konta_graczy` (
  2. `id` mediumint(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `nick` varchar(50) NOT NULL,
  4. `haslo` varchar(50) NOT NULL,
  5. `level` int(11) UNSIGNED NOT NULL,
  6. `gildia` varchar(100) NOT NULL,
  7. `stat_1` int(11) UNSIGNED NOT NULL,
  8. `stat_2` int(11) UNSIGNED NOT NULL,
  9. `stat_3` int(11) UNSIGNED NOT NULL,
  10. `stat_4` int(11) UNSIGNED NOT NULL,
  11. `stat_5` int(11) UNSIGNED NOT NULL,
  12. `stat_6` int(11) UNSIGNED NOT NULL,
  13. `stat_final_1` int(11) UNSIGNED NOT NULL,
  14. `stat_final_2` int(11) UNSIGNED NOT NULL,
  15. `stat_final_3` int(11) UNSIGNED NOT NULL,
  16. `stat_final_4` int(11) UNSIGNED NOT NULL,
  17. `stat_final_5` int(11) UNSIGNED NOT NULL,
  18. `stat_final_6` int(11) UNSIGNED NOT NULL,
  19. `wyglad` int(11) NOT NULL,
  20. `exp` int(11) UNSIGNED NOT NULL,
  21. `klasa` int(11) UNSIGNED NOT NULL,
  22. `kasa` mediumint(9) UNSIGNED NOT NULL,
  23. `rasa` int(10) UNSIGNED NOT NULL,
  24. `mount` int(10) UNSIGNED NOT NULL,
  25. `email` varchar(100) NOT NULL,
  26. PRIMARY KEY (`id`),
  27. KEY `nick` (`nick`)
  28. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=13 ;


  1. CREATE TABLE IF NOT EXISTS `przedmioty` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(150) collate utf8_polish_ci NOT NULL,
  4. `lvl_min` int(10) UNSIGNED NOT NULL,
  5. `lvl_max` int(10) UNSIGNED NOT NULL,
  6. `tekst` text collate utf8_polish_ci NOT NULL,
  7. `dmg_min` bigint(20) UNSIGNED NOT NULL,
  8. `dmg_max` bigint(20) UNSIGNED NOT NULL,
  9. `obrona` int(10) UNSIGNED NOT NULL,
  10. `block` int(10) UNSIGNED NOT NULL,
  11. `Stat_1` int(10) UNSIGNED NOT NULL,
  12. `Stat_2` int(10) UNSIGNED NOT NULL,
  13. `Stat_3` int(10) UNSIGNED NOT NULL,
  14. `Stat_4` int(10) UNSIGNED NOT NULL,
  15. `Stat_5` int(10) UNSIGNED NOT NULL,
  16. `Stat_6` int(10) UNSIGNED NOT NULL,
  17. `special` tinyint(3) UNSIGNED NOT NULL,
  18. `typ` smallint(5) UNSIGNED NOT NULL,
  19. `klasa` smallint(5) UNSIGNED NOT NULL,
  20. `rasa` smallint(5) UNSIGNED NOT NULL,
  21. `Min_1` int(10) UNSIGNED NOT NULL,
  22. `Min_2` int(10) UNSIGNED NOT NULL,
  23. `Min_3` int(10) UNSIGNED NOT NULL,
  24. `Min_4` int(10) UNSIGNED NOT NULL,
  25. `Min_5` int(10) UNSIGNED NOT NULL,
  26. `Min_6` int(10) UNSIGNED NOT NULL,
  27. `obrazek` varchar(100) collate utf8_polish_ci NOT NULL,
  28. `typ_obrazen` int(10) UNSIGNED NOT NULL,
  29. `cena_gold` int(10) UNSIGNED NOT NULL,
  30. `cena_premium` int(10) UNSIGNED NOT NULL,
  31. PRIMARY KEY (`id`)
  32. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=101 ;


potrzebuje listę przedmiotów (nazwy i id pobierane z tabeli przedmioty), lista ta jest pobierana z tabeli ekwipunek graczy.

Wygląda to tak że ekwipunek_graczy ma kilka wpisów z lista ID przedmiotów w kilku kolumnach (slot_1, slot_2 itp)
wiem jak to połączyć z jednym slotem, ale nie wiem jak z kilkoma,
Nie chce tego robić przez 10 podzapytań bo to zajedzie serwer.

Macie jakieś pomysły?
mkozak
  1. SELECT *
  2. FROM `ekwipunek_graczy` eg, przedmioty p
  3. WHERE p.id
  4. IN (
  5. eg.slot_1, eg.slot_2, eg.slot_3, eg.slot_4, eg.slot_5, eg.slot_6
  6. )
  7. LIMIT 0 , 30
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.