|
|
|
| CREATE TABLE `Manufacturers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
+----+--------------------+
| id | name |
+----+--------------------+
| 1 | CDEF Manufacturing |
| 2 | Dell Ltd |
| 3 | JDF Ltd |
| 4 | Motor inc |
+----+--------------------+
CREATE TABLE `parts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`man_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
+----+-----------------+--------+
| id | name | man_id |
+----+-----------------+--------+
| 1 | DVD burner | 1 |
| 2 | Laptop | 2 |
| 3 | Power supply | 2 |
| 4 | Display adapter | 3 |
| 5 | Network hub | 1 |
| 6 | Sound card | 3 |
+----+-----------------+--------+
- необходимо извлечь идентификаторы, имена изготовителей и соответствующих частей для DELL LTD, JDF LTD
- Извлеките имена и идентификаторы изготовителей, составляющие части, которых, не указаны.
- Измените идентификатор для CDEF, MAnufacturing с 1 на 5 и идентификаторы составляющих частей, которые соответствуют этому изготовителю (одним запросом).
- Переместите вход JDF Ltd и соответственные составляющие части (одним запросом)
Помогите написать эти запросы на mysql? | |
|
|
|
|
|
|
|
для: fox2011
(20.02.2012 в 18:01)
| | Для этого можно воспользоваться запросами вида
>- необходимо извлечь идентификаторы, имена изготовителей и соответствующих частей для
>DELL LTD, JDF LTD
SELECT * FROM Manufacturers
|
>- Извлеките имена и идентификаторы изготовителей, составляющие части, которых, не указаны.
SELECT
*
FROM
Manufacturers
WHERE
id NOT IN (SELECT
DISTINCT man_id
FROM
parts)
|
>- Измените идентификатор для CDEF, MAnufacturing с 1 на 5 и идентификаторы составляющих
>частей, которые соответствуют этому изготовителю (одним запросом).
UPDATE
Manufacturers
SET
id = 5
WHERE
id = 1
|
>- Переместите вход JDF Ltd и соответственные составляющие части (одним запросом)
Под "входом" что имеется в виду? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2012 в 18:38)
| | В первом запросе вы извлекаете все записи, а надо только dell и jdf.
Проверьте правильно ли я написал?:
select
p.name,m.name
from
Manufacturers m, parts p
where
1=1
and m.id=p.man_id
?
2. измените идентификатор для CDEF, MAnufacturing с 1 на 5 и идентификаторы составляющих
частей, которые соответствуют этому изготовителю (одним запросом).
здесь привязку надо сделать к cdef manufacturing а не к id ? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2012 в 18:38)
| | Переместите вход JDF Ltd и соответственные составляющие части (одним запросом)
Под "входом" что имеется в виду?
не знаю, что имеется в виду, может я неправильно перевел с англ.:
Remove the JDF Ltd entry and the corresponding component parts (with one query).? | |
|
|
|