powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SQL проверка результата выборки
5 сообщений из 5, страница 1 из 1
SQL проверка результата выборки
    #38915200
_madest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, имеется запрос:
Код: plsql
1.
SELECT `sc`.`id`, `sc`.`type`, `sc`.`properties`, (SELECT `value` FROM `dveri_site_tmplvar_contentvalues` WHERE `tmplvarid` = '12' AND `contentid` = `sc`.`id` LIMIT 1) AS `price` FROM `dveri_site_content` `sc` WHERE `sc`.`id` IN (1285,169,163,161) ORDER BY ABS(`price`) asc LIMIT 0, 12



запрос в запросе выводит результат в поле price, как я понял. Нужно в условии where сравнить этот самый price с 0. Как только я не пробовал ничего не получается.
пробовал вот так:
1)WHERE `sc`.`id` IN (1285,169,163,161) AND `price`<>0
2)WHERE `sc`.`id` IN (1285,169,163,161) AND `sc`.`price`<>0
по всякому пробовал - не получается. В SQL не силён. Один человек сказал, что тут дело обстоит в том, что таблицы не связаны.

попробовал вот так:
Код: plsql
1.
2.
3.
4.
5.
6.
SELECT `sc`.`id`, `sc`.`type`, `sc`.`properties` 
FROM `dveri_site_content` `sc`
        LEFT JOIN (SELECT `value` FROM `dveri_site_tmplvar_contentvalues`   WHERE `tmplvarid` = '12' AND `contentid` = `sc`.`id` LIMIT 1) AS `price`
        
        WHERE `sc`.`id` IN (1285,169,163,161) AND `price`<>0
        ORDER BY ABS(`price`) asc LIMIT 0, 12



но все равно ничего не получается. Что не так я делаю?

Модератор: Тема перенесена из форума "PHP, Perl, Python".
...
Рейтинг: 0 / 0
SQL проверка результата выборки
    #38915266
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT * 
FROM (
  SELECT `sc`.`id`, `sc`.`type`, `sc`.`properties`, 
    (
    SELECT `value` 
    FROM `dveri_site_tmplvar_contentvalues` 
    WHERE `tmplvarid` = '12' AND `contentid` = `sc`.`id` 
    LIMIT 1
    ) AS `price` 
  FROM `dveri_site_content` `sc` 
  WHERE `sc`.`id` IN (1285,169,163,161)
  ) x 
WHERE x.price<>0 
ORDER BY ABS(x.price) asc 
LIMIT 0, 12
...
Рейтинг: 0 / 0
SQL проверка результата выборки
    #38915349
_madest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT * 
FROM (
  SELECT `sc`.`id`, `sc`.`type`, `sc`.`properties`, 
    (
    SELECT `value` 
    FROM `dveri_site_tmplvar_contentvalues` 
    WHERE `tmplvarid` = '12' AND `contentid` = `sc`.`id` 
    LIMIT 1
    ) AS `price` 
  FROM `dveri_site_content` `sc` 
  WHERE `sc`.`id` IN (1285,169,163,161)
  ) x 
WHERE x.price<>0 
ORDER BY ABS(x.price) asc 
LIMIT 0, 12



Спасибо, а такой вопросик, после ORDER BY ... выботку еще раз можно сделать??? я хочу вывести сначала записи с price <> 0, отсортировать их, а потом записи с price = 0
...
Рейтинг: 0 / 0
SQL проверка результата выборки
    #38915405
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_madestпосле ORDER BY ... выботку еще раз можно сделать???Нет
_madestя хочу вывести сначала записи с price <> 0, отсортировать их, а потом записи с price = 0
Код: sql
1.
ORDER BY (price=0), остальные критерии сортировки
...
Рейтинг: 0 / 0
SQL проверка результата выборки
    #38915946
_madest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina_madestпосле ORDER BY ... выботку еще раз можно сделать???Нет
_madestя хочу вывести сначала записи с price <> 0, отсортировать их, а потом записи с price = 0
Код: sql
1.
ORDER BY (price=0), остальные критерии сортировки



ёлки-палки, неделю бился, а вы мне так легко все подсказали)) Благодарю за помощь)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SQL проверка результата выборки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]