Bom dia pessoal, desculpe pelo off;
 
 
Eu usei o seguinte script para criar a tabela que segue (vai alguns
dados se alguem quiser fazer teste);
consigo acessar do sistema, realizar todas as operações que preciso e
tal.
 
CREATE TABLE OPGERACAO_SETORESPROCESSOS 
( CODIGO INTEGER NOT NULL,
  SETOR INTEGER NOT NULL,
  PROCESSO INTEGER NOT NULL,
  OBS DOM_MEMO,
  ORIGEM CHAR(1) CHARACTER SET ISO8859_1,
  GERACAO INTEGER,
  COD_GERACAO INTEGER,
  CONSTRAINT PK_OPGERACAO_SETORESPROCESSOS PRIMARY KEY (CODIGO));
 
SET TERM !!;
CREATE OR ALTER TRIGGER TOPGERACAO_SETORESPROCESSOS FOR
OPGERACAO_SETORESPROCESSOS 
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
   IF (NEW.CODIGO IS NULL) THEN
       NEW.CODIGO = GEN_ID(SEQ_OPGERACAO_SETORESPROCESSOS, 1);
END !!
SET TERM !!;
 
COMMIT WORK; 
 
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (939, 91, 215, 'C', 225, 181);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (940, 93, 221, 'P', NULL, 223);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (941, 93, 220, 'P', NULL, 223);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (942, 94, 224, 'P', NULL, 223);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (943, 91, 215, 'C', 235, 184);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (944, 93, 221, 'P', NULL, 227);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (945, 93, 220, 'P', NULL, 227);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (946, 94, 224, 'P', NULL, 227);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (947, 91, 215, 'C', 235, 187);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (948, 93, 221, 'P', NULL, 228);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (949, 93, 220, 'P', NULL, 228);
INSERT INTO OPGERACAO_SETORESPROCESSOS (CODIGO, SETOR, PROCESSO, ORIGEM,
GERACAO, COD_GERACAO) VALUES (950, 94, 224, 'P', NULL, 228);
COMMIT WORK;
 

so que agora em uma outra area eu preciso apenas dos dados que sejam
diferentes dado a uma GERACAO especifica;
 
tipo com o seguinte select (FAVOR DESCONSIDERAR OS INNER JOINS), para
retornar digamos os registros da geração 235. ok
este select me traz 2 registros (DE ACORDO COM OS DADOS ACIMA), mas eu
quero somente 1.
 
o problema e que com o DISTINCT, GROUP BY da um erro de conversao do
campo blob
 
/* Select pronto para por no sistema (retorna 2 registro e eu quero 1)*/
SELECT OPGS.GERACAO,
       OPGS.SETOR,
       OPGS.PROCESSO,
       OPGS.OBS,
       DEP.DESCRICAO SETORDESCRICAO,
       PROP.DESCRICAO PROCESSODESCRICAO
FROM OPGERACAO_SETORESPROCESSOS OPGS
INNER JOIN DEPARTAMENTO DEP      ON OPGS.SETOR = DEP.CODIGO
INNER JOIN PROCESSOPRODUCAO PROP ON OPGS.PROCESSO = PROP.CODIGO
WHERE ORIGEM = 'C'
      AND GERACAO = :GERACAO
 

/* Select que estou utilizando para teste */
SELECT GERACAO,
       SETOR,
       PROCESSO,
       OBS
FROM OPGERACAO_SETORESPROCESSOS
WHERE ORIGEM = 'C'
  AND GERACAO = 235
GROUP BY GERACAO,
         SETOR,
         PROCESSO,
         OBS
         
com o select acima da o seguinte erro
 
Conversion error from string "BLOB"
Statement: SELECT GERACAO,
    SETOR,
    PROCESSO,
    OBS
FROM OPGERACAO_SETORESPROCESSOS
WHERE ORIGEM = 'C'
   AND GERACAO = 235
GROUP BY GERACAO,
     SETOR,
     PROCESSO,
     OBS
 

De acordo com o que fiz, a principio nao posso mudar o campo para
varchar porque 
o cliente falou que as informacoes contidas podem variar bastante
 
Alguem tem alguma sugestao. 
 
OBS: DELPHI 5, FB 1.5 Rc2, IBX 


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a