SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.04.2019 09:52:55

Lugner32
Участник
Зарегистрирован: 04.04.2019
Сообщений: 17

Нужна помощь с задачей

Всем привет)))
Снова нужна ваша помощь с задачкой... Не могу понять ошибку

Вот задача:
В базе данных есть три таблицы: products, categories и brands.

Получите из таблицы products все джинсы и юбки компании Mango.
Выведите только id, название и цену. Данные отсортируйте по цене. Не выводите товары, которых нет в наличии.

brands
id    name
1    Mango
2    Love Republic
3    Zarina
4    Imajeans
5    OLBE
6    OPIMU
7    FinFlare
8    Sasha Rozhdestvenskaya
9    Katomi
10    Oodji
categories
id    name
1    Джинсы
2    Куртки
3    Платья
4    Жилетки
5    Юбки
6    Комплекты
7    Брюки
8    Водолазки
9    Косухи
10    Джеггинсы
11    Плащи
12    Леггинсы
products
id    name    brand    category    count    price    sizes
1    Джинсы Mango Lonny 2    1    1    3    2990    34,36,38,42
2    Куртка Magno Nico 2    1    2    2    4999    S,M,L
3    Платье Love Republic    2    3    7    3699    40,46,48
4    Джинсы Mango Kim2    1    1    3    2499    34,36,38,40
5    Жилет Zarina    3    4    7    2519    42,46,50,52
6    Юбка Mango Park    1    5    2    3999    34,36,38,40
7    Комплект Mango (джинсы Lonny 2 и косуха)    1    6    4    11900    36,38,M,L,S
8    Джинсы Imajeans    4    1    6    1842    34,36,38,42
9    Брюки OLBE    5    7    5    2898    44,46,48
10    Джинсы Mango Jane2    1    1    4    1999    32,34,40
11    Водолазка OPIMU    6    8    12    1527    M,XL,L,S
12    Косуха Mango    1    9    4    9990    M,L,S
13    Джинсы Uptown2 (Mango)    1    1    7    3499    34,36,38,40,42
14    Жилет FinFlare    7    4    3    6999    M,L,XL,2XL
15    Джинсы Mango Soho2    1    1    0    1999    34,36,38
16    Джеггинсы Sasha Rozhdestvenskaya    8    10    5    1691    42,46,48,50
17    Плащ Mango SHERLOCK    1    11    1    6499    XS,S,M,L
18    Юбка Katomi    9    5    8    3199    34,40,42
19    Джинсы Mango Noa2    1    1    2    2499    32,34,36,38,40,42,44
20    Леггинсы Oodji    10    12    0    349    M,L,S


Пытался решить так:
SELECT p.id, p.name, p.price
FROM products as p, brands as b, categories as c
WHERE b.id = p.brand
AND p.category = c.id
AND p.count > 0
AND c.name IN(1, 5)
AND b.name = 1
ORDER BY p.price

Выдаёт ошибку:
The query should return 6 records

Affected rows: 0

Помогите разобраться где косяк)))

Отредактированно Lugner32 (11.04.2019 09:53:27)

Неактивен

 

#2 11.04.2019 10:56:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5592

Re: Нужна помощь с задачей

AND c.name IN(1, 5) -- в name содержатся не цифры, а если используете цифры, то можно только одной таблицей ограничится

аналогично для:
AND b.name = 1


p.s. используйте join удобней будет читать запрос, особенно при большом кол-ве таблиц

Неактивен

 

#3 11.04.2019 11:23:58

Lugner32
Участник
Зарегистрирован: 04.04.2019
Сообщений: 17

Re: Нужна помощь с задачей

vasya написал:

AND c.name IN(1, 5) -- в name содержатся не цифры, а если используете цифры, то можно только одной таблицей ограничится

аналогично для:
AND b.name = 1


p.s. используйте join удобней будет читать запрос, особенно при большом кол-ве таблиц

До JOINов я ещё не доучился это следующий урок :-)
А на счет  c.name и b.name  да это я проглядел что на этом затупил :-0 поменял на айди и прошла задача :-)

Спасибо vasya, который раз меня выручаете :-) +++++++Вам в карму :-)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson