1
我有一個查詢,將行轉換爲列。只有存在值時才存在行。有與NULL內部或外部連接與樞軸查詢
Object Field_id value
1 1 value1
1 2 value2
1 3 value3
2 2 value4
表示的值沒有行,我創建使用查詢的輸出
Object field1 field2 field3
1 value1 value2 value3
2 value4
像
select * from
(
select fs.field_name, s.text_value, s.id_object
from custom_field_str s ,
(select ad.id_field field_id, fd.name field_name,
num_display_order display_order, ad.text_table_name catalogue_table, ad.num_lines
from catalogues c
inner join attribute_definitions ad on c.id_object = ad.id_object_type
inner join field_definitions fd on ad.id_field = fd.id_object
where c.id_object = 'cA1') fs
where fs.catalogue_table = 'custom_field_str'
and fs.field_id = s.id_field
)
pivot
(max(text_value)
for field_name IN ('field1' as field1,'field2' as field2,'field3' as field3) )
所以我的問題是,我應該使用custom_field_str和派生表fs之間的連接中的外連接。或者,PIVOT不需要全套結果來構建輸出網格?
感謝思考Stibbons。我有5個custom_field_ *表,我加入到一組工會中。所以我使用這種格式主要是爲了可讀性。 – Karl