Postgresql เลือกคอลัมน์หรืออื่นๆอยู่ใต้เหมือนนามแฝงตามค่าของคนที่สามคอลัมน์

0

คำถาม

ฉันมีฐานข้อมูลชุดรูปแบบของใครสามารถเป็นประยุกต์@item text character set ในแบบนี้ผู้ผลิตภัณฑ์บนโต๊ะและอีกสองคนตารางข้อมูลเรียบร้อยแล้วบรรจุกค่าที่จะ enrich รายละเอียดของสินค้า ฉันอยากจะเลือกการอนุญาตให้ฉันเพื่อให้มีการแสดงผลิตภัณฑ์หมายเลขตามโดยคอลัมน์ที่บรรจุมีมูลค่าอยู่ ค่านี้จะถูกเลือกใน attribute_value_1 โต๊ะว่างคือผลิตภัณฑ์ของประเภท'Type1'หรือไม่ไปไว้ในห้อ attribute_value_2 โต๊ะว่างคือผลิตภัณฑ์ของประเภท'Type2'.

ผลิตภัณฑ์บนโต๊ะ

product_id ประเภท
1 type1
2 type2

โต๊ะ attribute_value_1

หมายเลข product_id ค่า
1 1 XXXXX

โต๊ะ attribute_value_2

หมายเลข product_id ค่า
1 2 ZZZZZ

งั้นในตามตัวอย่างผลของการสืบค้นควรจะเป็น:

ผลลัพธ์

product_id ค่า
1 XXXXX
2 ZZZZZ

คุณรู้มั้ยว่าฉันสามารถดำเนินการต่อไปหรือไม่?

case postgresql select sql
2021-11-15 15:24:30
1

คำตอบที่ดีที่สุด

1

คุณสามารถใช้สองคนทิ้งร่วมกับแอททริบิวต์โต๊ะและจากนั้นก็ใช้ coalesce ฟังก์ชัน()จะได้ค่าจากพวกนั้นโต๊ะ thatmatched:

select P.product_id , coalesce(att1.value, att2.value) value
from product p 
left join attribute_value_1 att1
   on p.product_id = att1.product_id and p.type = 'type1'
left join attribute_value_1 att2
   on p.product_id = att2.product_id and p.type = 'type2'
2021-11-15 15:40:21

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่