[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сложный запрос
Страницы: 1, 2
krivarik
пожалуйста помогите сам ничего не могу придумать.
у меня есть база данных с двумя таблицами.
первая е1 с колонками
e1_id (primari key), | nazv, |kod

1 | планка| 300
2 скоба 100
3 штырь 200
и вторая е2

е1_id | vid_rabot| time

1 слес 10
1 свар 5
1 маляр 3
2 слес 1
2 маляр 3
3 слес 5
3 свар 6

вопрос вот в чем надо составить запрос чтобы при вводе запроса на выборку данных слес и свар чтоб только выбиралось название штырь а если к примеру свар и маляр писало что совпадений нет вообще так чтобы при поиске нескольких слов может быть и 3 и 4 и больше выдавались значения из таблицы 1 только те которые на 100% соответствуют введенных поисковых слов и чтоб не больше и не меньше чётко только эти
Valick
кто вам так БД "организовал"?

_____________
Стимулятор ~yoomoney - 41001303250491
krivarik
сам если надо как - то подругому подскажите
Valick
krivarik, опишите задачу, и сущности с которыми будет идти работа

_____________
Стимулятор ~yoomoney - 41001303250491
krivarik
ну вобщем так есть список деталей с их кодами и к каждой детали несколько видов выполняемых работ к примеру слесарка, сварка или слесарка или слесарка сварка, малярка ну или еще кактор и каждому виду работ соответсвует время.

задачи такие надо найти какая деталь соответсвует к примеру только слесарным и сварочным работам и не каким другим это самый сложный для меня запрос с другими запросами я разобрался как их составить они легки к примеру найти по коду деталь или по времени выполнения самую долго выполняющеюся
Valick
я так понимаю один и тот же вид работ может применяться к разным деталям, а это уже отношение многие ко многим, тут должно быть три таблицы
1 таблица детали
detals
d_id примари авто инкремент
d_name - название детали
d_kod - код детали

2 таблица вид работ
works
w_id - примари авто инкремент
w_name - название вида работ
w_time - время н/ч

3 таблица связи
dewo
d_id
w_id
примари кей на оба поля

_____________
Стимулятор ~yoomoney - 41001303250491
krivarik
а третья для чего
krivarik
да к стате и время у одного и тогоже вида работ будет разное
Valick
это уже будут разные виды работ, даже если у них будут одинаковые названия
отличаться эти строки будут по w_id по ним же они и будут связаны с определенными деталями

_____________
Стимулятор ~yoomoney - 41001303250491
krivarik
так хорошо а как всётаки составить запрос чтоб найти деталь соответствующею определённым видам работ
Valick
просто задание описанное в первом посте не совсем имеет смысл :) вы его из головы придумали?
___
вы взорвали мой моск :)

CREATE TABLE IF NOT EXISTS `detals` (
`d_id` int(11) NOT NULL AUTO_INCREMENT,
`d_name` varchar(30) NOT NULL,
`d_code` int(11) NOT NULL,
PRIMARY KEY (`d_id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- Дамп данных таблицы `detals`
--

INSERT INTO `detals` (`d_id`, `d_name`, `d_code`) VALUES
(1, 'планка', 300),
(2, 'скоба', 100),
(3, 'штырь', 200);


CREATE TABLE IF NOT EXISTS `works` (
`w_id` int(11) NOT NULL AUTO_INCREMENT,
`w_name` varchar(100) NOT NULL,
`w_time` decimal(10,0) NOT NULL,
PRIMARY KEY (`w_id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Дамп данных таблицы `works`
--

INSERT INTO `works` (`w_id`, `w_name`, `w_time`) VALUES
(1, 'слес', '10'),
(2, 'свар', '5'),
(3, 'маляр', '3'),
(4, 'слес', '1'),
(5, 'маляр', '3'),
(6, 'слес', '5'),
(7, 'свар', '6');


CREATE TABLE IF NOT EXISTS `dewo` (
`d_id` int(11) NOT NULL,
`w_id` int(11) NOT NULL,
UNIQUE KEY `dw` (`d_id`,`w_id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Дамп данных таблицы `dewo`
--

INSERT INTO `dewo` (`d_id`, `w_id`) VALUES
(1, 1),
(1, 2),
(1, 3),
(2, 4),
(2, 5),
(3, 6),
(3, 7);


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.