Nếu không sử dụng các chức năng tùy chỉnh, có thể trong SQLite để làm như sau. Tôi có hai bảng, được liên kết thông qua các số id phổ biến. Trong bảng thứ hai, có hai biến. Những gì tôi muốn làm là có thể trả về một danh sách các kết quả, bao gồm: id hàng và NULL nếu tất cả các trường hợp của hai biến đó (và có thể có nhiều hơn hai) là NULL, 1 nếu chúng là 0 và 2 nếu một hoặc nhiều là 1."nếu, sau đó, khác" trong SQLite
những gì tôi có ngay bây giờ là như sau:
SELECT
a.aid,
(SELECT count(*) from W3S19 b WHERE a.aid=b.aid) as num,
(SELECT count(*) FROM W3S19 c WHERE a.aid=c.aid AND H110 IS NULL AND H112 IS NULL) as num_null,
(SELECT count(*) FROM W3S19 d WHERE a.aid=d.aid AND (H110=1 or H112=1)) AS num_yes
FROM W3 a
vì vậy, điều này đòi hỏi phải có được để bước qua mỗi kết quả như sau (thô Python giả):
if row['num_yes'] > 0:
out[aid] = 2
elif row['num_null'] == row['num']:
out[aid] = 'NULL'
else:
out[aid] = 1
Có cách nào dễ dàng hơn không? Cảm ơn!
Tuyệt vời, cảm ơn của tôi về điều này! –