บอกพวกเรามีโต๊ะ:
กุญแจ | ค่า | _count |
---|---|---|
เป็ | บี | 3 |
c | d | 2 |
ที่เราต้องการขยายเรื่องนั้นกันและกุญแจถึงแผนไว้ให้กันและหารค่าค่าในโต๊ะแล้วก็ได้ _count
ข 0 หากุญแจ-ค่าคู่ไม่ได้แล้วต้องนับดู ตัวอย่างเช่นสำหรับโต๊ะอยู่เหนือฉันอยากดู:
กุญแจ | ค่า | _count |
---|---|---|
เป็ | บี | 3 |
เป็ | d | 0 |
c | d | 2 |
c | บี | 0 |
ฉันมีงานที่ต้องทำทางออก:
WITH key_value_pairs AS (
SELECT
a.key,
b.value
FROM
(SELECT DISTINCT key FROM table) a, (SELECT DISTINCT value FROM table) b
)
SELECT
kvp.key,
kvp.value,
COALESCE(base._count, 0) _count
FROM
key_value_pairs kvp
LEFT JOIN
table base ON base.key = kvp.key AND base.value = kvp.value;
แต่ฉันต้องสงสัยมันอาจจะง่าย/มากกว่าสามารถอ่าน/อีกวิธีที่มีประสิทธิภาพเพื่อเตรียมกำนี่มีข้อเสนอแนะอะไรมั้ย?