直接貼sql陳述句吧:
SELECT y.tableid,
c.tableshowname,
y.fieldid,--
y.fieldshowname,--
y.fieldname,
y.fielddatatype,
z.fieldvalue,
cast(z.valueid as text),
string_agg(z.dicname,',')
FROM cp_config_tableinfoadd c,cp_config_tableinfo y
LEFT JOIN
(SELECT a.valueid,
b.fieldid,
c.tableid,
c.tableshowname,
b.fieldshowname,
b.fielddatatype,
a.fieldvalue,
di.dicname
FROM cp_attach_subinfostore a,cp_config_tableinfo b,cp_config_tableinfoadd c,cp_dic_info di
WHERE b.dicid=di.dictypeid and a.fieldid IN
(SELECT fieldid
FROM cp_config_tableinfo
WHERE tableid =302 and isused=1 and isinstalled=0)
AND b.fieldid = a.fieldid
AND b.tableid = c.tableid
AND a.objid=1368 ORDER BY a.subinfoid) z
ON y.fieldid=z.fieldid
WHERE y.tableid=302 and c.tableid=y.tableid and y.isinstalled=0 group by y.fieldid,c.tableshowname,z.fieldvalue,z.valueid order by z.valueid,y.orderintable ;
我是通過分組,多行合并為一列string_agg(z.dicname,','),
現在查出來的結果如下圖

后邊三列值查不出來了,只有進行分組的那一行有值
uj5u.com熱心網友回復:
不做 group by ,把資料弄出來看看,從陳述句上盾,select 里面有兩個列沒有在group by 里面轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92389.html
標籤:PostgreSQL
上一篇:MySql資料庫設計
下一篇:Sqlite3 列別名應用問題
