@dba_ru

Страница 611 из 718
Vladislav
13.08.2018
08:34:03
это все равно селект

Ilia
13.08.2018
09:04:54
Пипал по MSSQLServer, утилита SQLCMD, у неё есть параметр -S [protocol:]server[instance_name][,port] Можно тут или ещё как-то задать ей не прямой адрес, а ссылку на ODBC DSN , где описано соединение?

Google
Ilia
13.08.2018
09:05:06
Или чатик по MSSQL напомните.

VlIvYur
13.08.2018
09:06:27
Ilia
13.08.2018
09:10:00
Спсб

Nikita
13.08.2018
10:22:58
Всем привет, не могу разобратся. Есть два запроса -- Собирает информацию по заказам с мобильных устройств insert into orders_mobile_m SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on sfo.store_id = cs.store_id WHERE sfo.status IN ('reserved', 'complete', 'collect') AND sfo.created_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() AND sfo.app_source in (@android, @ios) GROUP BY cs.name, month(sfo.created_at); -- Собирает информацию по заказам c рекламы insert into orders_UTM_m SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on cs.store_id = sfo.store_id JOIN magdv_utm u on sfo.entity_id = u.order_id WHERE u.action = 'order' AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() GROUP BY cs.name, month(sfo.created_at); Для меня важно чтобы были все строки из core_store cs В первом запросе так и работает. А во втором 2 записи из core_store не достаються, так как связанных с ними записей нет. Как подправить второй запрос?

Ilia
13.08.2018
10:24:17
Всем привет, не могу разобратся. Есть два запроса -- Собирает информацию по заказам с мобильных устройств insert into orders_mobile_m SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on sfo.store_id = cs.store_id WHERE sfo.status IN ('reserved', 'complete', 'collect') AND sfo.created_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() AND sfo.app_source in (@android, @ios) GROUP BY cs.name, month(sfo.created_at); -- Собирает информацию по заказам c рекламы insert into orders_UTM_m SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on cs.store_id = sfo.store_id JOIN magdv_utm u on sfo.entity_id = u.order_id WHERE u.action = 'order' AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() GROUP BY cs.name, month(sfo.created_at); Для меня важно чтобы были все строки из core_store cs В первом запросе так и работает. А во втором 2 записи из core_store не достаються, так как связанных с ними записей нет. Как подправить второй запрос?
GROUP BY не по феншую (стандарту) в первом

Nikita
13.08.2018
10:25:35
Ну это планировался как второй вопрос)

Ilia
13.08.2018
10:25:44
GROUP BY не по феншую (стандарту) в первом
Для начала надо это сделать, потом уже далее смотреть.

Nikita
13.08.2018
10:26:10
не феншуйно функцию month юзать в group?

Ilia
13.08.2018
10:27:00
не феншуйно функцию month юзать в group?
Все поля, которые присутствуют в SELECT LIST и ORDER BY, и не агрегированы, должны быть в GROUP BY

Nikita
13.08.2018
10:28:30
@MasterZiv тогда это так получается? GROUP BY cs.store_id, cs.name, month(sfo.created_at);

Ilia
13.08.2018
10:29:38
Nikita
13.08.2018
10:30:06
@MasterZiv -- Собирает информацию по заказам с мобильных устройств insert into orders_mobile_m SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on sfo.store_id = cs.store_id WHERE sfo.status IN ('reserved', 'complete', 'collect') AND sfo.created_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() AND sfo.app_source in (@android, @ios) GROUP BY cs.store_id, cs.name, month(sfo.created_at); -- Собирает информацию по заказам c рекламы insert into orders_UTM_m SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs right JOIN sales_flat_order sfo on cs.store_id = sfo.store_id left join magdv_utm u on sfo.entity_id = u.order_id WHERE u.action = 'order' AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() GROUP BY cs.store_id, cs.name, month(sfo.created_at);

Google
Nikita
13.08.2018
10:31:39
date_format(sfo.created_at, @date_format)

Ilia
13.08.2018
10:31:56
Это другое выражение.

Либо GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at) либо Либо GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at) либо SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), month(sfo.created_at)

Nikita
13.08.2018
10:33:54
Понял

поправил по второму варианту

Ilia
13.08.2018
10:36:45
Если GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at) то это наверное самы бредовый вариант

Nikita
13.08.2018
10:37:27
@MasterZiv SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on cs.store_id = sfo.store_id LEFT JOIN magdv_utm u on sfo.entity_id = u.order_id WHERE u.action = 'order' AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at); Вот тут я все еще теряю две записи из core_store так как в magdv_utm и sales_flat_order нет связанных с ними записей

Nikita
13.08.2018
10:38:46
@MasterZiv avg не надо в group by вроде http://oracleplsql.ru/mysql-function-avg.html

Ilia
13.08.2018
10:39:03
Nikita
13.08.2018
10:39:27
А нахера ж ты в WHERE условия пишешь на LEFT таблицы?
Так этож, надо мне так. Вот смотри SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on sfo.store_id = cs.store_id WHERE sfo.status IN ('reserved', 'complete', 'collect') AND sfo.created_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() AND sfo.app_source in (@android, @ios) GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at); Тут работает как надо.

Ilia
13.08.2018
10:40:50
Третий вариант)
Там не GROUP BY написан, а список вывода

Nikita
13.08.2018
10:41:06
Слепой под вечер.

Прощения просим-с

Stanislav
13.08.2018
10:41:36
Vladislav
13.08.2018
10:42:17
1488
@AlexCAD

Stanislav
13.08.2018
10:43:04
@AlexCAD
Жестокий ты.

Nikita
13.08.2018
10:43:04
так вот, как заставить то вот этот запрос ``` SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format) FROM core_store cs LEFT JOIN sales_flat_order sfo on cs.store_id = sfo.store_id LEFT JOIN magdv_utm u on sfo.entity_id = u.order_id WHERE u.action = 'order' AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() GROUP BY cs.store_id, cs.name, date_format(sfo.created_at, @date_format), month(sfo.created_at); ``` Вернуть ВСЕ записи свои, даже если в join'еных таблицах инфы нет

Google
Vladislav
13.08.2018
10:44:06
Жестокий ты.
потом подашь в суд

Nikita
13.08.2018
10:51:31
Nikita Rassamakhin, [13.08.18 17:50] @MasterZiv Пока не понимаю. Проблема в чем, у меня есть core_store это города magdv_utm хранит ссылку на заказ sales_flat_order вообще все заказы с id города в котором был произведен Мне надо достать все заказы сделанные по рекламе WHERE u.action = 'order' и в строго заданом промежутке AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH) AND curdate() посчитать средний ценник заказов avg(sfo.base_grand_total) и их количество count(u.id) И для городов в которых не было заказов проставить нули

Так как таблицы 3 я взял ту чьи данные должны быть в полном обьеме core_store и приджойнил остальные

Nikita
13.08.2018
10:52:45
для других запросов где join'ятся только sales_flat_order это прокотило

Понял, спасибо.

Terminator
13.08.2018
13:07:21
Jeka Krivoruchko будет жить. Поприветствуем!

Sergey
13.08.2018
13:08:40
Frank
13.08.2018
15:16:56
Эм... Был у меня когда-то в одном СМИ коллега по имени Евгений Криворучко. Так что не исключено, что и нет))

На метро Калужская оно располагалось)

Frank
13.08.2018
15:25:03
Да мы довольно мало вместе поработали, он ушел быстро

Al
13.08.2018
15:30:32
Тут он тоже ушел быстро

Frank
13.08.2018
15:30:49
)))

Михаил Власов
13.08.2018
16:26:34
У мну был коллега Косоруков.

Норм.

Человек
13.08.2018
20:04:53
Здравствуйте всем. Как мне можно исключить некоторые строки в SQL? У меня есть БД aqua и таблица fill, в ней 5 колон следующего вида: CREATE TABLE fill (name varchar, value varchar, clower int, cup int, bsed text). Я не могу сделать SELECT value, name FROM fill ибо мне выдаст ошибку так как имена name, value зарезервированы, но могу сделать SELECT * FROM Fill. Теперь вопрос как мне исключить колоны clower, cup, bsed ?

ко?TEXHIK
13.08.2018
20:10:12
Используй кавычки

Google
Admin
ERROR: S client not available

ко?TEXHIK
13.08.2018
20:10:47
Select "col_name1", "col_name2"...

Igor
13.08.2018
20:27:21
все равно выдает ошибку
а что конкретно пишет?

Человек
13.08.2018
20:27:36
а что конкретно пишет?
near "FROM": syntax error: SELECT [name], [value] FROM FROM

SELECT [name], [value] FROM FROM fill

А при SELECT * FROM fill все работает

Igor
13.08.2018
20:29:37
а что за бд? в MS SQL так прокатывает

Человек
13.08.2018
20:45:36
а что за бд? в MS SQL так прокатывает
Извиняюсь, я сделал FROM FROM )

нужны было убрать FROM

Ilia
13.08.2018
20:46:11
SELECT "name", "value" FROM "fill"

Igor
13.08.2018
20:46:36
Спасибо!
да не за что, бывает ?

Terminator
14.08.2018
06:38:54
Anton Dereev будет жить. Поприветствуем!

Andruha
14.08.2018
08:15:22
в yii2 при описании поля в бд в миграции можно выбрать и float, и decimal - что выбирать для postgresql?

Ilia
14.08.2018
08:18:18
в yii2 при описании поля в бд в миграции можно выбрать и float, и decimal - что выбирать для postgresql?
В зависимости от того, какие данные в поле будешь хранить. decimal -- точная арифметика, фиксированный диапазон. float -- практически бесконечный диапазон, неточнная арифметика

Google
Ilia
14.08.2018
08:20:15
что тут подразумевается под точной/неточной арифметикой?
Ну тут не букварь, почитай в сети про floating point arithmetics

Andruha
14.08.2018
08:20:19
все, коллеги, вопрос снят, для денег decimal

спасибо

Ilia
14.08.2018
08:21:51
все, коллеги, вопрос снят, для денег decimal
Смотря каких денег. Если финансы , то как раз надо double, float. Если бухгалтерия, деньги за платежи, то - decimal

Ilia
14.08.2018
08:22:45
decimal

Konstantin
14.08.2018
08:38:13


Коллега купил :)

Ilia
14.08.2018
08:43:45
Главное что внутри!

Страница 611 из 718