2014-04-05 3 views
-1

내가 SQLite는을 사용했지만, 지금은 SQL 서버 CE를업데이트

을 사용하여이 쿼리는 작동하지 않습니다 :(

SET EstaEnlazado = (SELECT case when count(*) > 0 then 1 else 0 end 
        FROM ArticulosEnlaces 
        WHERE ArticuloLocalID = Articulos.ArticuloID 
        or ArticuloWebID = Articulos.ArticuloID) 

를 대체 할 수있는?에 대한

미안 내 영어와 감사합니다 :)

+0

EstaEnlazado 열이 Articulos 테이블의 일부입니까? – mhn

+2

조인에 대해 알아보십시오. – Mihai

답변

0

당신이 선을 누락 것 같은데,이 시도 :

UPDATE Articulos 
SET EstaEnlazado = COALESCE((SELECT TOP 1 1 
        FROM ArticulosEnlaces 
        WHERE ArticuloLocalID = Articulos.ArticuloID 
        or ArticuloWebID = Articulos.ArticuloID), 0) 
0
UPDATE Articulos 

SET EstaEnlazado = CASE WHEN EXISTS 
          (SELECT 1 
           FROM ArticulosEnlaces 
           WHERE ArticuloLocalID = Articulos.ArticuloID 
           or ArticuloWebID = Articulos.ArticuloID 
           HAVING COUNT(*) > 1 
           ) 
        THEN 1 ELSE 0 END