मैं रेडशिफ्ट में एक तालिका में एक कॉलम जोड़ने की कोशिश कर रहा हूं जो सभी पंक्तियों में कई मान जोड़ता है लेकिन इसका कोई संबंध नहीं है, इसके अलावा सभी पंक्तियों को प्रभावित किया जाना चाहिए।

मुझे नहीं पता कि इसका वर्णन कैसे किया जाए, इसलिए Google-ing कठिन साबित हो रहा है!

दृश्य उदाहरण:

+----+-------+
| ID | Name  |
+----+-------+
|  1 | James |
|  2 | Jane  |
+----+-------+

बन जाना चाहिए

+----+-------+-----+
| ID | Name  | Sec |
+----+-------+-----+
|  1 | James | SG1 |
|  1 | James | SG2 |
|  1 | James | SG3 |
|  2 | Jane  | SG1 |
|  2 | Jane  | SG2 |
|  2 | Jane  | SG3 |
+----+-------+-----+

मूल रूप से हर पंक्ति में "SG1, SG2, और SG3" जोड़ा गया।

धन्यवाद,

0
ck3mp 16 अक्टूबर 2020, 11:21

1 उत्तर

सबसे बढ़िया उत्तर

आप cross join एक व्युत्पन्न तालिका बना सकते हैं जिसमें तीन मान हों:

select t.id, t.name, s.sec
from mytable t
cross join (select 'SG1' sec union all select 'SG2' union all select 'SG3') s

मैं अनिश्चित हूं कि क्या Redshift values() का समर्थन करता है, जो वाक्य रचना को छोटा करने में मदद करेगा:

select t.id, t.name, s.sec
from mytable t
cross join (values ('SG1'), ('SG2'), ('SG3')) s(sec)
1
GMB 16 अक्टूबर 2020, 11:25