| 
| 
 | Вопрос # 1 638/ вопрос открыт / | 
 |  Здравствуйте, уважаемые!Снова я с любимым SQL ... Так как я с ним не дружу, хотела "украсть" у MS_ACCESS готовый запрос на повторяющиеся строки. Выглядит он следующим образом:
 SELECT BD_PO."stat" FROM BD_PO As Tmp GROUP BY BD_PO."stat", codcount, curcod, codt HAVING Count(*)>1  And codcount = BD_PO.codcount And curcod = BD_PO.curcod And codt=BD_PO.codt
 В результате все повторяющиеся строки упорядочиваются.
 В моей программе БД - Paradox, а этот запрос не работает.
 Есть еще такой: SELECT BD_PO."stat", codcount, codt, curcod from BD_PO GROUP BY BD_PO."stat", codcount, codt, curcod HAVING COUNT(*)>1
 В моей программе он работает, но оставляет в таблице только уникальные записи, остальные отбрасывает
 
|  |   Вопрос задала: Emma (статус: Посетитель)Вопрос отправлен: 31 мая 2008, 01:08
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 7 июня 2008, 10:46; участников в обсуждении: 2. 
|   | Вадим К (статус: Академик), 31 мая 2008, 03:10 [#1]:Я писал уже, отказывайтесь от BDE. Иначе надальше проблемы будут всё больше и больше. BDE не все запросы умеет переваривать. Синтаксис всё таки немного отличается у разных БД.
 К  тому же, красть не хорошо.
 посмотрите например на такую строку в запросе
 codcount = BD_PO.codcount
 Это сравнивание с самим собой. И как думаете, чему оно равно?
 А вот эта строка
 FROM BD_PO As Tmp
 Это создание псевдонима для таблицы. Я не уверен, что BDE понимает такое. Но дальше Tmp не используется - по этому не понятно, зачем вообще это.
 Вы запрос после аксеса модифицировали?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Emma (статус: Посетитель), 7 июня 2008, 10:46 [#2]:да нет проблем. Просто надо поискать. Почитала книжки и разобралась ) Query2.Active:=false;
 Query2.SQL.Clear;
 Query2.SQL.Add('Select exp."stat", codcount, curcod, codt, count(*), Sum(exp."sum") from exp group by exp."stat", codcount, curcod, codt HAVING Count(*)>=1');
 Query2.active:=true
 Вот так вот все простенько оказывается делается.
 А от BDE откажусь в следующем проекте. В этом менять уже нет ни времени, ни сил
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |