Та же самая история: Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Попытка выполнить запрос, который не включает указанное выражение 'brak' как часть статистической функции или группы., SQL state 37000 in SQLExecute in Z:\home\lepus\www\invneo.php on line 18
тогда проверь отрабатывает ли отдельно подзапрос $q = "SELECT `RecPart` AS `r`, COUNT(`LocCur`) AS `brak` FROM `DataWO` WHERE `LocCur` = 'scrap' GROUP BY `RecPart`";
ну хоть что-то теперь сделай вот так $q = "SELECT `s`.`r`, `s`.`brak` FROM (SELECT `RecPart` AS `r`, COUNT(`LocCur`) AS `brak` FROM `DataWO` WHERE `LocCur` = 'scrap' GROUP BY `RecPart`) AS `s`";
кстати только сейчас заметил, что ты отсебятины немного добавляешь) прробуем дальше $q = "SELECT `d`.`RecPart`, COUNT(`d`.`LocCur`) AS `total`, `s`.`brak` FROM `DataWO` AS `d` LEFT JOIN (SELECT `RecPart`, COUNT(`LocCur`) AS `brak` FROM `DataWO` WHERE `PceType` = 61 AND `LocCur` = 'scrap' GROUP BY `RecPart`) AS `s` ON `d`.`RecPart` = `s`.`RecPart` WHERE `d`.`PceType` = 61 AND `d`.`LocCur` <> 'shipped' GROUP BY `d`.`RecPart`"; копипасть ничего не меняя
(((((((((((((( : Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Попытка выполнить запрос, который не включает указанное выражение 'brak' как часть статистической функции или группы., SQL state 37000 in SQLExecute in Z:\home\lepus\www\invneo.php on line 18
попробуй убери из `s`.`brak` название таблицы оставь только `brak` походу тебе надо взять этот запрос и на спец форум по access я хз чё ему в синтаксисе не нравится
Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Попытка выполнить запрос, который не включает указанное выражение 'brak' как часть статистической функции или группы., SQL state 37000 in SQLExecute in Z:\home\lepus\www\invneo.php on line 18 --- Добавлено --- в любом случае спасибо за желание помочь.
мне кажется чт оему не нравится что мы его уже лотгрупирвоав и посчитав и по сути это уже готовое единичное значение и мы его опять собираемся группировать. Вот он нам и пишет что он не является частью функции. Может это можно как то решать через программный вывод значений циклом?
@kretsman, в MySQL всё отлично работает можешь конечно сделать несколько отдельных запросов типа: $q = "SELECT `RecPart`, COUNT(`LocCur`) AS `total` FROM `DataWO` WHERE `PceType` = 61 AND `LocCur` <> 'shipped' GROUP BY `RecPart`"; $q = "SELECT `RecPart`, COUNT(`LocCur`) AS `brak` FROM `DataWO` WHERE `PceType` = 61 AND `LocCur` = 'scrap' AND `LocCur` <> 'shipped' GROUP BY `RecPart`"; и тд, а потом собрать массив на стороне РНР, но этож по-деревенски :-D
по деревенски это собрать гребанную рабочу БД на аксесе и 7 лет её наполнять...а теперь как говорится что хошь делай но замути запросы которые надо
В итоге решил вот так: SELECT RecPart as `Тип оборудования`, FORMAT(-(sum(LocCur = 'ready')+sum(LocCur = 'stock')+sum(LocCur = 'scrap')),0) as Всего, FORMAT(-sum(LocCur = 'ready'),0) as Готовое, FORMAT(-sum(LocCur = 'stock'),0) as `Ремонтный фонд`, FORMAT(-sum(LocCur = 'scrap'),0) as `Всего отдефектовано` FROM DataWO WHERE PceType=61 and LocCur<>'shipped' GROUP BY RecPart Осталось только понять как сделать sum() с двойным условием и вывести вниз суммирование по столбцам)))