WItam!
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