powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста оптимизировать запрос
12 сообщений из 12, страница 1 из 1
Помогите пожалуйста оптимизировать запрос
    #38639783
СЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT 
  sum( m.summa ) AS price, 
  sum( m.cnt ) AS kolvo,
  d.name as name, 
  z.name as org_name, 
  d.dat as dat, 
  d.id as id 
FROM deals d, zav z, money m      
  where d.dat>='$today' 
    and 
  z.id=d.org_name 
    and 
  m.deal = d.id
    and
  $city in (d.city)
    and 
  d.view<>'0'
    
  GROUP BY d.name 
  order by d.id DESC



//deals таблица с товарами
// zav таблица с поставщиками товаров
// money таблица денежных транзакций (синхронизация по полю m.deal соответствует id в deal)

Проблема вот в чем .. этот запрос показывает только товары по которым были продажи, это хорошо НО! мне нужно видеть все товары и если по ним не было продаж то пусть 0 показывает...

Очень прошу помогите.. уже весь мозг свернул... как то в жизни у сожалению сложилось что с join не дружу...

Заранее большое спасибо
_______________________________
С уважением Александр Успенский
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639795
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Названия объектов несколько, гм, странные... ну да ладно.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT 
  sum( m.summa ) AS price, 
  sum( m.cnt ) AS kolvo,
  d.name as name, 
  z.name as org_name, 
  d.dat as dat, 
  d.id as id 
FROM deals d LEFT JOIN zav z ON   z.id=d.org_name 
  LEFT JOIN money m ON   m.deal = d.id
  where d.dat>='$today' 
    and
  $city in (d.city)
    and 
  d.view<>'0'
    
  GROUP BY d.id DESC


Вот только строка " z.name as org_name, " может выдать любую орагнизацию, если у какого-то товара их случится более одной. Это так и надо?
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639796
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Код: sql
1.
$city in (d.city)

И эту конструкцию я не понял.
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639809
СЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft работает... всё ок..

НИЗКИЙ ВАМ ПОКЛОН.. и ПОЖИЗНЕННЫЙ РЕСПЕКТ... ОЧЕНЬ ВЫРУЧИЛИ.........
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639811
СЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

$city - это город в котором будет покупка

в поле city хранит айди городов где можно продавать товар.. (1,2,3,15)
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639828
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СЭmiksoft,

$city - это город в котором будет покупка

в поле city хранит айди городов где можно продавать товар.. (1,2,3,15)Хранится именно в виде строки? Тогда IN не сработает.
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639838
СЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Работает...

тип поля строковой (данные хранятся в виде (1,5,15,25) )

работает так уже целый год )
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639852
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СЭmiksoft,

Работает...

тип поля строковой (данные хранятся в виде (1,5,15,25) )

работает так уже целый год )Либо Вы что-то не договариваете, либо у вас не MySQL, либо еще что-то не так... но не верю.
http://sqlfiddle.com/#!2/33575/6
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639870
СЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник


miksoft, вот скрин с пхпмайадмин.. ну а запрос вы видели
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38639959
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картинка не работает. Если не трудно, приложите прямо к посту.
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38640375
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из дома картинка заработала, увидел.

Выполните такой запрос:
Код: sql
1.
SELECT 1 IN (1,2,3) a, 2 IN (1,2,3) b

и попытайтесь объяснить результат.
...
Рейтинг: 0 / 0
Помогите пожалуйста оптимизировать запрос
    #38640515
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СЭ ,

если вы принципиально против 1НФ - переходите на постреляционные СУБД , которые не требуют атомарности значений данных.

Попытки использовать аналогичные механизмы в реляционных базах (таких, как MySQL) должны сопровождаться ясным пониманием как возникающих проблем, так и способов их решения.

Вот маленький пример по вашему вопросу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table test(
  id int auto_increment primary key,
  list varchar(100)
  );
insert test(list)values
  ('1,2,9'),('1,5,8'),('2,1'),('5,1,9'),('5,9');

select * from test t
where 1 in (t.list);

select * from test t
where 9 in (t.list);

ID LIST1 1;2;92 1;5;8
ID LISTСЭработает так уже целый год Так что могу вас порадовать - работает целый год неправильно
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста оптимизировать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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