@dba_ru

Страница 380 из 718
aster
11.01.2018
06:00:26
И там как бы формы внутри

Система такая - и код и данные всё в одном файле

Al
11.01.2018
06:04:50
Система такая - и код и данные всё в одном файле
А чем тебя встроеный контроль не устраивает?

Система такая - и код и данные всё в одном файле
https://stackoverflow.com/questions/36498095/using-version-control-systems-with-qlikview

Google
Al
11.01.2018
06:07:16
Мы не ищем лёгких путей. Мы создаем себе трудности Что бы потом мужественно их преодолевать. Ну что бы было чем гордиться. ?

aster
11.01.2018
06:18:18
?

Я просто даже не искал сейчас, потому что когда этот вопрос вставал при внедрении - вендор ответил что нет такой возможности. Тогда была версия 11. Посмотрю есть ли это в текущей доступной мне версии. Спасибо

aster
11.01.2018
06:35:43
Почему эта убогая архитектура нынче стала так популярна?
она убогая только потому что не все её могут правильно использовать.

превратили в какой-то 1с, ей богу

ко?TEXHIK
11.01.2018
06:36:42
Да просто уже третий человек с третьей системой с такой архитектурой

она убогая только потому что не все её могут правильно использовать.
А для чего думаешь её было бы логично использовать?..

aster
11.01.2018
06:40:53
я про вот это: что данные и код внутри. на самом деле так делать нельзя. все скрипты загрузки и формулы должны быть снаружи qvw файла (во внешних qvw) в самом приложении - только формы.

Vladislav
11.01.2018
07:26:10
Почему эта убогая архитектура нынче стала так популярна?
Консалтинги внедряют, менеджеры продают

Konstantine
11.01.2018
09:39:12
Всем привет!

Google
Konstantine
11.01.2018
09:39:34
подскажите пожалуйста решение проблемы

пишу запрос на dql нужно получить количество платящих игроков, но вот почему то DISTINCT в COUNT() не срабатывает

$qb ->select ('DATE(p.transactionTime) AS d, COUNT(DISTINCT p.player) AS countPlayers, g.countryCode, g.countryName, ' . 'p.productCode, COUNT(p.productCode) AS amount, p.market, (player.id) as player_id ') ->from ('IronTanksCoreBundle:PlayerPayment', 'p') ->innerJoin ('p.player', 'player') ->innerJoin ('player.geoip', 'g') ->where ('p.isTest = false') ->andWhere ('player.createTime BETWEEN :startDate AND :endDate') ->andWhere ('p.market IN (:markets)') ->setParameter (':startDate', $startDate) ->setParameter (':endDate', $endDate) ->setParameter (':markets', $markets);

есть тут спецы?

аууу

Vladislav
11.01.2018
09:44:40
что за dql?

что за база?

Konstantine
11.01.2018
09:47:51
mariadb

dql - загугли

sql вообще знаешь?

Ilia
11.01.2018
09:50:46
Vladislav
11.01.2018
09:54:03
sql вообще знаешь?
я то знаю, а вот судя по вашему бложику, вы только дерзить можете

Konstantine
11.01.2018
09:55:43
вот groupBy

$qb = $this->em->createQueryBuilder (); if (in_array (Application::MARKET_WINSTORE, $markets)) { $markets[] = Application::PLATFORM_WINRT; $markets[] = Application::PLATFORM_WSA; $markets[] = Application::PLATFORM_UWP; } if (in_array (Application::MARKET_APPSTORE, $markets)) { $markets[] = Application::PLATFORM_IOS; $markets[] = Application::PLATFORM_MACOS; } $qb ->select ('DATE(p.transactionTime) AS d, COUNT(DISTINCT p.player) AS countPlayers, g.countryCode, g.countryName, ' . 'p.productCode, COUNT(p.productCode) AS amount, p.market, (player.id) as player_id ') ->from ('IronTanksCoreBundle:PlayerPayment', 'p') ->innerJoin ('p.player', 'player') ->innerJoin ('player.geoip', 'g') ->where ('p.isTest = false') ->andWhere ('player.createTime BETWEEN :startDate AND :endDate') ->andWhere ('p.market IN (:markets)') ->setParameter (':startDate', $startDate) ->setParameter (':endDate', $endDate) ->setParameter (':markets', $markets); if (!empty ($countries)) { $qb ->andWhere ('g.countryCode IN (:countries)') ->setParameter('countries', $countries); } $qb ->groupBy ('d, p.market, g.countryCode'); $result = $qb->getQuery ()->getResult ();

и где я нагрубил?)

Андрэ
11.01.2018
09:56:11
Не похоже на SQL запрос по прежнему)

Konstantine
11.01.2018
09:56:36
не, на SQL я писать не буду, все норм работает, лучше все по красоте сделать

Андрэ
11.01.2018
09:56:41
и где я нагрубил?)
Вошел в чатик, спросил помощи в ответ на уточнения "sql вообще знаешь?" Со стороны как-то не оч

Google
Vladislav
11.01.2018
09:56:45
это какой-то dql, гугл даже в шоке от этой разновидности синтаксиса

Андрэ
11.01.2018
09:57:05
Зачем писать на SQL? QueryBuilder сможет же показать во что это превращается?

Vladislav
11.01.2018
09:57:45
и на сколько я понимаю, это вообще ORM

Konstantin
11.01.2018
09:58:00
@shtikov у меня твой сайт карёжится :(



Yury
11.01.2018
09:59:27
Зачем вообще что-либо писать, есть же квери дизайнеры

Konstantin
11.01.2018
10:00:14
Блин, сайт пытается отмасштабироваться под экран, но скролл на всю длину остаётся.



Konstantine
11.01.2018
10:00:45
Зачем писать на SQL? QueryBuilder сможет же показать во что это превращается?
всм в какой SQL запрос он преобразуется? думаю что да, но я хз где посмотреть, Symfony 3.4

Андрэ
11.01.2018
10:02:10
Ну ты ж не ожидаешь, что кто-то тут будет в уме твой код в SQL приводить, чтобы понять, что у тебя не так?

Konstantine
11.01.2018
10:03:53
да, я особо на него времени не тратил, честно говоря даже цели какой то небыло его делать, прост очтоб был)

Konstantine
11.01.2018
10:11:42
нашел запрос, который получается в итоге

SELECT DATE(p.transactionTime) AS d, COUNT(DISTINCT p.player) AS countPlayers, g.countryCode, g.countryName, p.productCode, COUNT(p.productCode) AS amount, p.market, (player.id) as player_id FROM IronTanksCoreBundle:PlayerPayment p INNER JOIN p.player player INNER JOIN player.geoip g WHERE p.isTest = false AND (player.createTime BETWEEN :startDate AND :endDate) AND p.market IN (:markets) GROUP BY d, p.market, g.countryCode

Asai
11.01.2018
10:23:03
всем привет, может быть, кто то сталкивался с такой проблемой в workbench

при нажатии на test connection возникает следующая ошибка

Failed to Connect to MySQL at localhost:3306 with user root

Konstantine
11.01.2018
10:37:08
групп бай не весь прописан
я так понимаю, что бы player.id не повторялся в самом начале GroupBy надо еще и player.id прописать..да?

все же почему то не сработало

Google
Konstantine
11.01.2018
10:38:25
в базе в стране Jersey всего игроков 4 и из них 1 только платил, вот мне бы его найти

все же группировка по player.id не сработала для этой страны...в остальных сработала

Stanislav
11.01.2018
10:40:05
вот groupBy
Это на PHP что ли? Вы сначала запрос на чистом SQL и проверьте....

Vladislav
11.01.2018
10:41:12
Admin
ERROR: S client not available

Konstantine
11.01.2018
10:42:53
лол, вообще все поля? все 8?

Vladislav
11.01.2018
10:43:21
sql вообще знаешь?

Stanislav
11.01.2018
10:43:25
Выложите результирующий набор

там будет видно что не так.

Failed to Connect to MySQL at localhost:3306 with user root
Создайте на БД нового пользователя и подключайтесь под ним, или ищите проблемы с root

Serge
11.01.2018
10:46:25
лол, вообще все поля? все 8?
ну да. Насколько я помню, select() и groupBy() могут принимать параметром массив вместо строки с полями через запятую. Поэтому частично этот массив можно переиспользовать.

Failed to Connect to MySQL at localhost:3306 with user root
а сервер MySQL на локалхосте вообще запущен?

Konstantine
11.01.2018
10:47:33


Serge
11.01.2018
10:49:09
лол, вообще все поля? все 8?
Но совет от коллег действительно правильный: возьмите результирующий запрос, который строит query builder, и заставьте его работать. А уже потом внесите изменения обратно в построение запроса из приложения.

Stanislav
11.01.2018
10:49:23
+

Vladislav
11.01.2018
13:04:09
https://habrahabr.ru/company/tinkoff/blog/346446/

Google
Alexey
11.01.2018
13:49:15
ВСЕ поля, которых нет под COUNT(), SUM(), AVG() надо указать в GROUP BY. И лучше в виде выражений, а не имён полей в списке вывода.
нет, в общем случае не надо указывать ВСЕ поля. нет, не лучше в виде выражений

Alexey
11.01.2018
13:57:19
НАДО или НЕ НАДО можно сказать только посмотрев на схему таблиц. а их нет

Vladislav
11.01.2018
13:58:34
причем тут схемы о_0

все что выводите и не агрегаты должно быть в группбае

Alexey
11.01.2018
13:59:21
можно вот тут начать читать: https://blog.jooq.org/2015/12/10/sql-group-by-and-functional-dependencies-a-very-useful-feature/

продолжить вот тут: http://mysqlserverteam.com/mysql-5-7-only_full_group_by-improved-recognizing-functional-dependencies-enabled-by-default/

хотя я вот от ораклоидов часто слышу байку про "НАДО ВСЕГДА УКАЗЫВАТЬ". я так понимаю, Oracle функциональные зависимости вообще не понимает?

но это неверно, начиная с SQL:99

Serge
11.01.2018
14:05:14
хм, любопытно, спасибо

Ilia
11.01.2018
14:08:03
хотя я вот от ораклоидов часто слышу байку про "НАДО ВСЕГДА УКАЗЫВАТЬ". я так понимаю, Oracle функциональные зависимости вообще не понимает?
Нет просто на оракле не пишут те дебилы, которые не могут уяснить простое правило: либо под агрегатом, либо в group by

Serge
11.01.2018
14:08:20
одиннадцатый оракл действительно не понимает, что согласуется и с моим опытом, и с доками:

https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_10002.htm#SQLRF55281

Serge
11.01.2018
14:08:43
пофиг на опыт, конечно, но в доке написано предельно ясно ;)

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