Giả sử bạn có một bảng dữ liệu có 4 cột và bạn muốn tạo ra một <code>VIEW</code> chứa 4 cột này và thêm cột thứ 5 chứa giá trị là số cột trong 4 cột kia khác <code>NULL</code>.

Ví dụ bảng Table1 có 4 cột chứa dữ liệu <code>X</code> bất kỳ, tương ứng <code>VIEW</code> được tạo ra trông như sau:

Column1 | Column2 | Column3 | Column4 | Column5 
  X     |    X    |   NULL  |    X    |   3
 NULL   |   NULL  |    X    |    X    |   2
 NULL   |   NULL  |   NULL  |   NULL  |   0

Lệnh tương ứng để tạo ra VIEW trên như sau, với cột 5 là đếm các cột có giá trị khác NULL :

select
    T.Column1,
    T.Column2,
    T.Column3,
    T.Column4,
    (
        select count(*)
        from (values (T.Column1), (T.Column2), (T.Column3), (T.Column4)) as v(col)
        where v.col is not null
    ) as Column5
from Table1 as T

Tương tự, bạn có thể tùy biến câu lệnh để tạo ra VIEW với Column5 là số cột có giá trị lớn hơn 0 như sau:

select
    T.Column1,
    T.Column2,
    T.Column3,
    T.Column4,
    (
        select count(*)
        from (values (T.Column1), (T.Column2), (T.Column3), (T.Column4)) as v(col)
        where v.col > 0
    ) as Column5
from Table1 as T

Done!

About The Author