![]() |
Actualizando un campo...
Hola, amigos.
:cool: he tratado de escribir el titulo correcto a esta necesidad y como veran me parece que no es el correcto... pero mas o menos se trata de actualizar un campo bajo cierto criterio. Estoy trabajando con el ibmanager y necesito hacer lo siguiente. Tengo una tabla, digamos de 5 campos asi: campo1 campo2 campo3 campo4 campo5 ------------------------------------------- 001-------ABEL-----1.00------001---X 002-------ABEL-----1.00------001---X 003-------PAMELA--2.00------002---X 004-------ABEL-----1.20------001---X 005-------ABEL-----1.00------001---X 006-------PAMELA--1.30------002---X Y necesito filtrar la tabla que como campo unico sea "campo2" campo1 campo2 campo3 campo4 campo5 ------------------------------------------- 001-------ABEL-----1.00------001---X 003-------PAMELA--2.00------002---X Para luego actualizar el campo "campo5" con un el valor 'y' campo1 campo2 campo3 campo4 campo5 ------------------------------------------- 001-------ABEL-----1.00------001---y 003-------PAMELA--2.00------002---y Se preguntaran para que? :p , estoy tratando de indentificar registros unicos segun el campo "campo2" :D campo1 campo2 campo3 campo4 campo5 ------------------------------------------- 001-------ABEL-----1.00------001---y 002-------ABEL-----1.00------001---X 003-------PAMELA--2.00------002---y 004-------ABEL-----1.20------001---X 005-------ABEL-----1.00------001---X 006-------PAMELA--1.30------002---X Agradeciendo sun ayuda, por las ideas que me puedan brindar. Your friend :cool: StartKill Lima-Perú |
Dependiendo de lo que quieras conseguir con un DISTINCT lo puedes lograr sin necesidad del campo5
Código:
select DISTINCT campo2 |
Original de nuestro moderador CADETILL
Cita:
Gracias Your friend StartKill Lima-Perú |
Bueno, yo me refería a que si lo que quieres es, en un listado sacar los diferentes, para no utilizar un where campo5 = 'Y' puedes usar lo que yo te comentaba, pero claro, todo depende de lo que quieras lograr con la información que pones en el campo5
|
podes hacerlo con un stored procedure, abriendo un cursor for update. la sentencia sql del cursor quedaria algo como:
Código:
Select t1.campo1, t1.campo2 Hasta luego. ;) |
Hola,
Se pasaron, es increible el poder de de un select usado correctamente, Gracias señores. Tomando el ejemplo de nuestro amigo "jachguate" Código:
Select t1.campo1, t1.campo2 Código:
Select t1.campo1, t1.campo2, t1.campo5 Les cuento que mientras no sabia como actualizar el "campo5" tuve que ingeniarmelas para conseguir modificar/actualizar el "campo5". Conseguir actualizar el "campo5" en base a filas unicas por el "campo2" hice una pequeña rutina en delphi que me permitio actualizar el "campo5" mas no obtuve un cursor. :( , pero sali del apuro :D procedure TForm1.Button1Click(Sender: TObject); Var __xVar1, xVar2:String; Begin __ibtransaction1.Active:=false; __ibtransaction1.StartTransaction; __ibquery1.open; __ibquery1.First; __xVar1:='__'; __while not ibquery1.Eof do begin ____xVar2:=ibquery1.FieldValues['CAMPO2'] ____If xVar1<>xVar2 then Begin ______xVar1:=ibquery1.FieldValues['CAMPO2'] ______ibquery1.edit; ______ibquery1.FieldByName('CAMPO5').asString:='Y'; ______ibquery1.post; ____end; ____ibquery1.Next; __end; __showmessage('Ok...'); end; Your friend :cool: StartKill Lima-Perú |
La franja horaria es GMT +2. Ahora son las 04:36:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi