在 postgresql 中使用 xpath_table?

using xpath_table in postgresql?

有table mydocs(id serial, docform int, content text)。

SELECT * FROM 
  xpath_table('id','content','mydocs',
              '/tutorial/author|/tutorial/title',
              'true')
  AS t(id int, author text, title text, docform int)

我有(id,作者和标题,docform是0/null)见图片

如何从 select 中的 mydocs 获取 docform。

docform 是来自 table mydocs 的专栏,如前所述。

由于 docform 您尝试 select 来自单独的列,因此解决方案可能需要在 xpath_table() 之外实施,例如,通过添加 JOINmydocs table 本身并从那里得到 docform :

SELECT t.*, m.docform 
  FROM mydocs m
  INNER JOIN LATERAL 
      xpath_table('id','content','mydocs',
                  '/tutorial/author|/tutorial/title',
                  'true')
      AS t(id int, author text, title text) ON m.id = t.id

sqlfiddle demo