일부 고객은 이전 데이터베이스를 사용하지만 최신 고객을 위해 다른 열을 추가해야합니다. 이제 내 프로그램은 새로운 열을 쿼리하고 존재하지 않으면 NULL을 사용합니다.SQL - OLEQuery에 열이있는 경우 선택
C# 및 OLEQuery이 지금까지 노력하고 있습니다 사용 :
string sql = @"SELECT i.[ID] AS cID,
pg.[Name],
pg.[ID] AS pgid,
i.[time],
defect = CASE i.[defect] WHEN 0 THEN 'OK' WHEN 1 THEN 'NOK' END,
FROM inspection AS i WITH (NOLOCK) INNER JOIN programs as pg ON i.programid = pg.[ID]
WHERE i.[time] BETWEEN ... ///SOME MORE CODE IS FOLLOWING HERE!
";
을하지만 지금은 (5 월/수도 없습니다) 기존의 열 때인 이것을에 추가 할.
string sql = @"SELECT i.[ID] AS cID,
pg.[Name],
pg.[ID] AS pgid,
i.[time],
defect = CASE i.[defect] WHEN 0 THEN 'OK' WHEN 1 THEN 'NOK' END,
timeTo = CASE i.[timeTo] WHEN EXISTS THEN i.[timeTo] ELSE NULL END
FROM inspection AS i WITH (NOLOCK) INNER JOIN programs as pg ON i.programid = pg.[ID]
WHERE i.[time] BETWEEN ... //SOME MORE CODE IS FOLLOWING HERE!
";
"존재"키워드는 어렵지만 "한 줄"해결책이 있습니까? 몇 가지 추가 사례 선택 솔루션을 발견했습니다. 다른 솔루션을 사용하는 여러 곳에서이 솔루션이 필요하므로 사례 선택 솔루션이 적합하지 않습니다. 도움 주셔서 감사합니다.
어떤 rdbms를 사용하고 있습니까? 예 : sql-server, mysql 또는 다른 것? – BeanFrog
죄송합니다, 그것은 sql-server입니다. –
'존재 '로'null '이 아님을 의미합니까? – JohnHC