jeśli by komuś sie chciało dociekać rozwiązania to zapraszam, poniżej umieściłem export tabel wraz z przykładowymi danymi:
Kod
-- phpMyAdmin SQL Dump
-- version 2.6.0-pl2
-- [url=http://www.phpmyadmin.net]http://www.phpmyadmin.net[/url]
--
-- Host: localhost
-- Czas wygenerowania: 11 Lut 2007, 22:33
-- Wersja serwera: 3.23.58
-- Wersja php: 5.0.2
--
-- Baza danych: `komunikacja`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla `kursy`
--
CREATE TABLE `kursy` (
`id_kursu` int(11) NOT NULL auto_increment,
`nazwa_kursu` varchar(100) NOT NULL default '',
PRIMARY KEY (`id_kursu`)
) TYPE=MyISAM AUTO_INCREMENT=1234625;
--
-- Zrzut danych tabeli `kursy`
--
INSERT INTO `kursy` VALUES (2049, 'Wodzisław Śl, Jastrzębie Zd., Żory, Mikołów, Katowice');
-- --------------------------------------------------------
--
-- Struktura tabeli dla `przystanek`
--
CREATE TABLE `przystanek` (
`id_przystanku` int(10) unsigned NOT NULL auto_increment,
`id_miasta` int(11) NOT NULL default '0',
`nazwa_przystanku` varchar(100) NOT NULL default '',
`czy_glowny` enum('nie','tak') NOT NULL default 'nie',
PRIMARY KEY (`id_przystanku`),
KEY `id_miasta` (`id_miasta`)
) TYPE=MyISAM AUTO_INCREMENT=64;
--
-- Zrzut danych tabeli `przystanek`
--
INSERT INTO `przystanek` VALUES (1, 1, 'Wodzisław Śl. D.A.', 'tak');
INSERT INTO `przystanek` VALUES (2, 1, 'Wilchwy, Cyganek', 'nie');
INSERT INTO `przystanek` VALUES (58, 8, 'Granica Żab', 'tak');
INSERT INTO `przystanek` VALUES (5, 1, 'Wilchwy, Szkoła', 'nie');
INSERT INTO `przystanek` VALUES (6, 1, 'Wilchwy, Blazy', 'nie');
INSERT INTO `przystanek` VALUES (7, 2, 'Mszana, ul Wodz.', 'nie');
INSERT INTO `przystanek` VALUES (8, 2, 'Mszana, szkołą.', 'nie');
INSERT INTO `przystanek` VALUES (9, 2, 'Mszana, skrz.', 'nie');
INSERT INTO `przystanek` VALUES (10, 3, 'Jastrzębie, Góra Wyzwol.', 'nie');
INSERT INTO `przystanek` VALUES (11, 3, 'Jastrzębie Dolne', 'nie');
INSERT INTO `przystanek` VALUES (12, 3, 'Jastrzębie, liceum', 'nie');
INSERT INTO `przystanek` VALUES (13, 3, 'Jastrzębie, os.III', 'nie');
INSERT INTO `przystanek` VALUES (14, 3, 'Jastrzębie, A.Bożka', 'tak');
INSERT INTO `przystanek` VALUES (15, 3, 'Jastrzębie, D.A.', 'tak');
INSERT INTO `przystanek` VALUES (16, 3, 'Jastrzębie, os.IV', 'nie');
INSERT INTO `przystanek` VALUES (17, 3, 'Zofiówka, skrz.', 'nie');
INSERT INTO `przystanek` VALUES (18, 3, 'Bzie, skrz.', 'nie');
INSERT INTO `przystanek` VALUES (19, 3, 'Pniówek skrz.', 'nie');
INSERT INTO `przystanek` VALUES (20, 6, 'Pawłowice III', 'nie');
INSERT INTO `przystanek` VALUES (21, 6, 'Pawłowice UG', 'tak');
INSERT INTO `przystanek` VALUES (22, 6, 'Pawłowice III', 'nie');
INSERT INTO `przystanek` VALUES (23, 6, 'Pawłowice UG', 'tak');
INSERT INTO `przystanek` VALUES (24, 6, 'Warszowice, skrz.', 'nie');
INSERT INTO `przystanek` VALUES (25, 7, 'Żory, pomnik', 'nie');
INSERT INTO `przystanek` VALUES (26, 7, 'Żory, centrum', 'tak');
INSERT INTO `przystanek` VALUES (27, 7, 'Woszczyce', 'nie');
INSERT INTO `przystanek` VALUES (28, 7, 'Gardawice', 'nie');
INSERT INTO `przystanek` VALUES (29, 7, 'Zawiść, skrz', 'nie');
INSERT INTO `przystanek` VALUES (30, 8, 'Łaziska Górne', 'tak');
INSERT INTO `przystanek` VALUES (31, 9, 'Mikołów, D.K.', 'tak');
INSERT INTO `przystanek` VALUES (32, 10, 'Katowice, Piotrowice', 'nie');
INSERT INTO `przystanek` VALUES (33, 10, 'Katowice, ul. Mikołowska', 'nie');
INSERT INTO `przystanek` VALUES (34, 10, 'Katowice D.K.', 'nie');
INSERT INTO `przystanek` VALUES (35, 10, 'Katowice, D.A.', 'tak');
-- --------------------------------------------------------
--
-- Struktura tabeli dla `przystanek_kursu`
--
CREATE TABLE `przystanek_kursu` (
`id_pk` int(10) unsigned NOT NULL auto_increment,
`numer` int(10) unsigned NOT NULL default '0',
`czy_ostatni` enum('nie','tak') NOT NULL default 'nie',
`id_kursu` int(11) NOT NULL default '0',
`id_przystanku` int(11) NOT NULL default '0',
`godz` time NOT NULL default '00:00:00',
`km` decimal(4,1) NOT NULL default '0.0',
`stanowisko` int(5) default NULL,
PRIMARY KEY (`id_pk`),
KEY `id_kursu` (`id_kursu`,`id_przystanku`)
) TYPE=MyISAM AUTO_INCREMENT=117;
--
-- Zrzut danych tabeli `przystanek_kursu`
--
INSERT INTO `przystanek_kursu` VALUES (1, 1, 'nie', 2049, 1, '14:15:00', 0.0, 2);
INSERT INTO `przystanek_kursu` VALUES (2, 2, 'nie', 2049, 2, '14:18:00', 2.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (3, 3, 'nie', 2049, 5, '14:20:00', 3.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (4, 4, 'nie', 2049, 6, '14:22:00', 4.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (5, 5, 'nie', 2049, 7, '14:24:00', 5.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (6, 6, 'nie', 2049, 8, '14:25:00', 6.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (7, 7, 'nie', 2049, 9, '14:28:00', 8.0, 26);
INSERT INTO `przystanek_kursu` VALUES (8, 8, 'nie', 2049, 10, '14:30:00', 9.0, 15);
INSERT INTO `przystanek_kursu` VALUES (9, 9, 'nie', 2049, 11, '14:32:00', 10.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (10, 10, 'nie', 2049, 12, '14:34:00', 11.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (11, 11, 'nie', 2049, 13, '14:36:00', 12.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (12, 12, 'nie', 2049, 14, '14:39:00', 14.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (13, 13, 'nie', 2049, 15, '14:42:00', 15.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (14, 14, 'nie', 2049, 16, '14:46:00', 17.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (15, 15, 'nie', 2049, 19, '14:55:00', 23.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (16, 16, 'nie', 2049, 20, '14:57:00', 24.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (17, 17, 'nie', 2049, 21, '14:59:00', 25.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (18, 18, 'nie', 2049, 24, '15:04:00', 29.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (19, 19, 'nie', 2049, 25, '15:10:00', 34.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (20, 20, 'nie', 2049, 26, '15:13:00', 36.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (21, 21, 'nie', 2049, 27, '15:23:00', 43.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (22, 22, 'nie', 2049, 28, '15:27:00', 47.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (23, 23, 'nie', 2049, 29, '15:29:00', 49.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (24, 24, 'nie', 2049, 31, '15:42:00', 59.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (25, 25, 'nie', 2049, 32, '15:50:00', 67.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (26, 26, 'nie', 2049, 33, '15:58:00', 72.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (27, 27, 'nie', 2049, 34, '16:00:00', 73.0, NULL);
INSERT INTO `przystanek_kursu` VALUES (28, 28, 'tak', 2049, 35, '16:03:00', 74.0, NULL);
SELECT pk1.id_przystanku, pk2.id_przystanku
FROM przystanek p JOIN kursy k JOIN przystanek_kursu pk1 JOIN przystanek_kursu pk2
ON pk1.id_kursu = pk2.id_kursu
ON k.id_kursu = pk1.id_kursu
ON p.id_przystanku = pk1.id_przystanku
WHERE pk1.id_przystanku = '$pocz' AND pk2.id_przystanku = '$kon' AND pk1.numer < pk2.numer
powyższe zapytanie zaproponowane przez
~Raynold'a testowałem no ale niestety wywalało mi podobny błąd:
Kod
#1064 - Something is wrong in your syntax obok 'ON pk1.id_kursu = pk2.id_kursu
ON k.id_kursu = pk' w linii 3
to jest najtrudniejsze zapytanie które kiedykolwiek próbowałem stworzyć