Potrzebuje wykonać zapytanie które zwróci mi wartość tekstową z kolumny 'obrazek' z tabeli STATUS, jeśli w tabeli 'ZLECENIA' jest wartość 1,2,3,4 .. 8 w kolumnie 'status_obecny'. Dodam tylko ze 'status_obecny' z tabeli ZLECEN jest powiązany kluczem obcym z 'satus_id' z tabeli STATUS.
Struktury dla tych dwoch tabel to:
REATE TABLE `status` ( `status_id` int(200) NOT NULL AUTO_INCREMENT, `obrazek` varchar(255) NOT NULL, `wartosc` int(50) NOT NULL, PRIMARY KEY (`status_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ; -- -- Zrzut danych tabeli `status` -- INSERT INTO `status` VALUES (1, 'Czekamy na akceptacje', 1); INSERT INTO `status` VALUES (2, 'Akceptacja', 2); INSERT INTO `status` VALUES (3, 'W kolejce', 3); INSERT INTO `status` VALUES (4, 'Drukowanie', 4); INSERT INTO `status` VALUES (5, 'Wygrzewanie', 5); INSERT INTO `status` VALUES (6, 'wykanczanie', 6); INSERT INTO `status` VALUES (7, 'Wysylka', 7); INSERT INTO `status` VALUES (8, 'Anulowane', 8);
CREATE TABLE `zlecenia` ( `zlecenia_id` int(255) NOT NULL AUTO_INCREMENT, `rozmiar_szerokosc` varchar(200) DEFAULT NULL, `material` varchar(255) DEFAULT NULL, `technologia` varchar(255) DEFAULT NULL, `ilosc_grafik` smallint(50) DEFAULT NULL, `nazwa_zlecenia` varchar(255) DEFAULT NULL, `wykonczenie` varchar(255) DEFAULT NULL, `ilosc_sztuk` int(200) DEFAULT NULL, `data_wysylki` date DEFAULT NULL, `data_dostawy` date DEFAULT NULL, `wysylka` varchar(255) DEFAULT NULL, `adres_klienta` varchar(255) DEFAULT NULL, `status_obecny` int(50) DEFAULT NULL, `komentarz` varchar(255) DEFAULT NULL, `wyk_id` int(255) DEFAULT NULL, `numer_zlecenia` int(255) DEFAULT NULL, `data_zlecenia` date DEFAULT NULL, `rozmiar_wysokosc` int(100) DEFAULT NULL, PRIMARY KEY (`zlecenia_id`), KEY `status_obecny` (`status_obecny`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; -- -- Zrzut danych tabeli `zlecenia` -- INSERT INTO `zlecenia` VALUES (5, '200x302a', 'frontliterrf', '', 3, 'aa', 'cut to size', 44, '2008-04-07', '2008-04-07', 'ups', 'fsdf', 2, 'dasdas', 2, 45543, '2008-04-07', 0); INSERT INTO `zlecenia` VALUES (6, '200x312', 'frontlite', 'gfdgfd3', 3, 'a', 'cut to size', 44, '2008-04-07', '2008-04-07', 'upsd', 'fsdf', 2, 'dasdas', 3, 4554, '2008-04-07', 0); INSERT INTO `zlecenia` VALUES (7, '43423', '', '', 1, '', '', 3, '2007-09-01', '2007-09-01', 'fdsfd', 'fsdfsd', 2, 'gf', NULL, 323, '2007-09-01', 1000); INSERT INTO `zlecenia` VALUES (8, '3432423', 'fsdfd', 'ffsdfd', 34, 'fdfsd', 'fsdfsd', 323, '2007-09-01', '2007-09-01', 'fsdfd', 'fsdfsd', 1, 'sdfsdf', NULL, 45, '2007-09-01', 1000); INSERT INTO `zlecenia` VALUES (9, '120 ', 'szmata cienka 110 gr', 'Sublimacja', 200, 'Zlecenie', 'tasma flagowa', 100, '2008-02-28', '0208-02-25', 'Maciej', 'Dk,Bornholm', 1, 'duze zlecenia.Uwaga na wymiar', NULL, 666, '2007-09-01', 60); INSERT INTO `zlecenia` VALUES (10, '100', 'szmata gryba 205gr', 'sublimacja', 2, 'hiros', 'tunel 15cm gora dol', 1, '2008-03-07', '2008-03-09', 'ups', 'DK', 1, 'nic dodac nic ujac', NULL, 5556, '2008-03-07', 200);
Spłodziłem coś takiego :
SELECT obrazek FROM status WHERE status_obecny LIKE wartosc ;
Ale coś nie bangla:(
Wywala:
Cytat
#1054 - Unknown column 'status_obecny' in 'where clause'
Nie widzi kolumny status_obecny. Pewnie to wynika ze zle zlozonego zapytania badz zlego powiazania kluczem obcym...
Poproszę o porawienie i ewentualnie rade jak pwiazac tablele foreignem KEY
Dzieki