Автор Тема: Помогите составить запрос, плз  (Прочитано 3557 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 53
  • +0/-0
  • 0
    • Просмотр профиля
    • http://rta.rikt.ru
Помогите составить запрос, плз
« : 06 Февраля 2005, 20:15:19 »
Люди, помогите, пожалуйста, правильно построить запрос mysql.
В базе имеется две таблицы.
В одной (picture) хранится информация, т.е. описание товара, в ряд включен идентификатор (столбец был почему-то назван notice) и номер категории в каталоге (id_cat).
Во второй (visiblestatus) содержится всего две колонки idvisible и idvisiblestatus
Первая колонка содержит значение идентификатора (в таблице picture он именуется как notice). Во второй колонке стоит статус - 1 или 0.
Так вот, не могу построить запрос по следующему алгоритму:
1. Выбрать ячейки notice из таблицы picture, id_cat=4.
2. Выбрать из таблицы visiblestatus значение idvisiblestatus, где notice=idvisible.
3. Вывести 10 строк из таблицы picture, у которых picture.id_cat=4 и visiblestatus.idvisiblestatus=0
Реально ли вообще сделать это одним запросом?
Заранее спасибо!
Чайник - он и в Африке чайник (это про меня :))

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Помогите составить запрос, плз
« Ответ #1 : 07 Февраля 2005, 01:21:19 »
SELECT p.* FROM picture  p
INNER JOIN visiblestatus v ON v.idvisible = p.notice
WHERE v.idvisiblestatus=0 AND p.id_cat=4 LIMIT 0,10

?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 53
  • +0/-0
  • 0
    • Просмотр профиля
    • http://rta.rikt.ru
Помогите составить запрос, плз
« Ответ #2 : 20 Февраля 2005, 17:11:40 »
Макс, спасибо, работает.
Только вот долго запрос выполняется. В таблице visiblestatus 145 тясяч строк, в таблице picture 50 тысяч. Вот в этой таблице visiblestatus хранится информация о доступности товара (0 и 1).
Посоветуешь что-нибуь более оптимательное?
Чайник - он и в Африке чайник (это про меня :))

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Помогите составить запрос, плз
« Ответ #3 : 20 Февраля 2005, 17:24:34 »
по полям v.idvisible ,  p.notice индексы стоят ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 53
  • +0/-0
  • 0
    • Просмотр профиля
    • http://rta.rikt.ru
Помогите составить запрос, плз
« Ответ #4 : 20 Февраля 2005, 17:37:28 »
Нет, по этим полям индексы не стоят.
Чайник - он и в Африке чайник (это про меня :))

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28