Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сложный запрос к таблице

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ПРошу помощи в составлении сложного запроса
mihon_kri
Отправлено: 29 Января, 2015 - 16:16:55
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Всем добрый день!
Проблема в следующем: в базе есть следующая таблица
id №заказа товар кол-во
1 112 Товар1 1
2 112 Товар2 2
3 111 Товар3 0
4 111 Товар1 1
5 121 товар1 1
6 121 Товар2 5
7 121 Товар3 7
8 124 Товар1 2
9 124 товар2 0
10 124 товар3 4

Нужно сделать выборку только тех заказов, в которых нет нулевых позиций в поле кол-во. То есть результатом запроса должны быть все позиции заказов, где количество не нулевое. Вот такой результат:

id №заказа товар кол-во
1 112 Товар1 1
2 112 Товар2 2
5 121 товар1 1
6 121 Товар2 5
7 121 Товар3 7
 
 Top
Мелкий Супермодератор
Отправлено: 29 Января, 2015 - 16:57:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT /**/ FROM `tbl` AS `outer` WHERE NOT EXISTS (SELECT 1 FROM `tbl` AS `inner` WHERE OUTER.order_id=INNER.order_id AND items_count=0)


-----
PostgreSQL DBA
 
 Top
GoDr
Отправлено: 29 Января, 2015 - 17:12:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Мелкий, не понял, а что так сложно?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `table` WHERE `кол-во` !=0


-----
Система управления веб-содержимым Lotos CMS
 
 Top
skiphog
Отправлено: 29 Января, 2015 - 17:13:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




GoDr пишет:
Мелкий, не понял, а что так сложно?


Ну топик же называется Сложный запрос к таблице Радость
 
My status
 Top
Мелкий Супермодератор
Отправлено: 29 Января, 2015 - 17:25:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




GoDr пишет:
Мелкий, не понял, а что так сложно?

В выходном наборе данной задачи вообще отсутствуют 111 и 124 заказы. Очевидно потому, что они содержат запись с нулём.


-----
PostgreSQL DBA
 
 Top
GoDr
Отправлено: 29 Января, 2015 - 18:05:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




я прочитал вопрос иначе

То есть результатом запроса должны быть все позиции заказов, где количество не нулевое Радость


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB