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

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

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

Вы не зашли.

#1 18.03.2013 15:12:40

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

Логика для базы

итак у меня есть таблица aka_v_posts где хранитса продукты онлайн магазина

aka_v_posts

ID | post_title
------------------
69    product1
70    product2

и есть таблица каторая содержыт цены. есть две разных цен. цена распродажы сохраняется _wpsc_special_price и нормальная цена _wpsc_price. тоесть если продукт не на распродаже  _wpsc_special_price всеравно пресудствует со значением 0.

aka_v_postmeta

ID | post_id |          meta_key          | meta_value
---------------------------------------------------------------
1    69          _wpsc_special_price      40
2    69          _wpsc_price                   50
3    70          _wpsc_special_price      0
4    70          _wpsc_price                   60

мой запрос выгледит так


SELECT * FROM aka_v_posts
LEFT JOIN aka_v_postmeta
ON aka_v_posts.ID=aka_v_postmeta.post_id
AND aka_v_postmeta.meta_key='_wpsc_special_price'
WHERE post_title LIKE '%32%'
AND aka_v_postmeta.meta_value BETWEEN 0 AND 1000
ORDER BY aka_v_postmeta.meta_value + 0 ASC
 


щас она выводит толька цену на расподаже, но что когда специальная цена равна нулью?
нужно развыть этот запрос так чтобы в другом случее выводил нормалную цену но не обе.

Отредактированно Mpa4Hu (18.03.2013 15:13:56)

Неактивен

 

Board footer

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