update con validaci贸n en varias tablas con sqlserver
    
		    Buenas tardes
El problema que tengo es el siguiente:
Necesito en sql server 2000 hacer un update a una tabla pero para ello requiero que se cumplan varias condiciones que involucran a otras dos tablas, hasta el momento he utilizado los siguientes 3 scripts y ninguno me ha funcionado y siempre me genera un error de sintaxis
1.
update grupoinvestigacion
set grupoinvestigacion.Investigador = (select investigador.Nombre
from investigador, grupoinvestigacion, colaboracion
where (investigador.CodInvestigador = colaboracion.CodInvestigador
and grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
and colaboracion.TipoColaboracion = 'Investigador Principal'
and grupoinvestigacion.Investigador LIKE ''))
2.
update grupoinvestigacion,investigador,colaboracion
set grupoinvestigacion.Investigador = investigador.Nombre
where (investigador.CodInvestigador = colaboracion.CodInvestigador
and grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
and colaboracion.TipoColaboracion = 'Investigador Principal'
and grupoinvestigacion.Investigador LIKE '')
3.
update grupoinvestigacion
inner join colaboracion
on (grupoinvestigacion.CodGrupo = colaboracion.CodGrupo AND
grupoinvestigacion.Investigador LIKE '' AND
colaboracion.TipoColaboracion = 'Investigador Principal')
inner join investigador
on investigador.CodInvestigador = colaboracion.CodInvestigador
set grupoinvestigacion.Investigador = investigador.Nombre
lo curioso es que al hacer el equivalente con un select funcionan bien y me seleccionan lo que requiero
agradezco su colaboraci贸n y disculpen si comet铆 alg煤n error infantil
    El problema que tengo es el siguiente:
Necesito en sql server 2000 hacer un update a una tabla pero para ello requiero que se cumplan varias condiciones que involucran a otras dos tablas, hasta el momento he utilizado los siguientes 3 scripts y ninguno me ha funcionado y siempre me genera un error de sintaxis
1.
update grupoinvestigacion
set grupoinvestigacion.Investigador = (select investigador.Nombre
from investigador, grupoinvestigacion, colaboracion
where (investigador.CodInvestigador = colaboracion.CodInvestigador
and grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
and colaboracion.TipoColaboracion = 'Investigador Principal'
and grupoinvestigacion.Investigador LIKE ''))
2.
update grupoinvestigacion,investigador,colaboracion
set grupoinvestigacion.Investigador = investigador.Nombre
where (investigador.CodInvestigador = colaboracion.CodInvestigador
and grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
and colaboracion.TipoColaboracion = 'Investigador Principal'
and grupoinvestigacion.Investigador LIKE '')
3.
update grupoinvestigacion
inner join colaboracion
on (grupoinvestigacion.CodGrupo = colaboracion.CodGrupo AND
grupoinvestigacion.Investigador LIKE '' AND
colaboracion.TipoColaboracion = 'Investigador Principal')
inner join investigador
on investigador.CodInvestigador = colaboracion.CodInvestigador
set grupoinvestigacion.Investigador = investigador.Nombre
lo curioso es que al hacer el equivalente con un select funcionan bien y me seleccionan lo que requiero
agradezco su colaboraci贸n y disculpen si comet铆 alg煤n error infantil
		    update grupoinvestigacion
set grupoinvestigacion.Investigador = investigador.Nombre
from investigador
join grupoinvestigacion on grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
join colaboracion on investigador.CodInvestigador = colaboracion.CodInvestigador
WHERE colaboracion.TipoColaboracion = 'Investigador Principal'
-- No entiendo porque el LIKE esta solo
--and grupoinvestigacion.Investigador LIKE ''
    set grupoinvestigacion.Investigador = investigador.Nombre
from investigador
join grupoinvestigacion on grupoinvestigacion.CodGrupo = colaboracion.CodGrupo
join colaboracion on investigador.CodInvestigador = colaboracion.CodInvestigador
WHERE colaboracion.TipoColaboracion = 'Investigador Principal'
-- No entiendo porque el LIKE esta solo
--and grupoinvestigacion.Investigador LIKE ''
		    utilizo LIKE '' para filtrar los que est谩n vac铆os ya que grupoinvestigacion.Investigador es un campo nuevo de la tabla y la gran mayor铆a est谩n seteados a vacio y son precisamente los que requiero llenar
	    
    
		    Amigo, LIKE es una instruccion para BUSCAR, no para FILTRAR, en todo caso:
mycol = ''
o tambien
LEN(mycol) = 0
	    
    mycol = ''
o tambien
LEN(mycol) = 0
