2015-06-21 90 views
0

現狀PostgreSQL的模板迭代

噸=模板表

i0 i1 i2 i3 i4 i5 
aa ab cd ef gh ij 
aa de gg jj kk dd 

R =驗證TABEL

i0 i1 i2 i3 i4 i5 
xx ab cd ef gh ij 
xx de gg jj kk dd 
yy ee cd ef gh ij 
yy de gg jj kk dd 
zz de gg jj kk dd 

結果與模板和驗證

aa ab cd ef gh ij xx ab cd ef gh ij 
aa de gg jj kk dd xx de gg jj kk dd 
aa ab cd ef gh ij 
        yy ee cd ef gh ij 
aa de gg jj kk dd yy de gg jj kk dd 
aa ab cd ef gh ij zz de gg jj kk dd 
aa de gg jj kk dd 

問:

我如何可以驗證模板表在 驗證表?全部加入僅限於全部 我必須驗證xx和yy以及zz的模板。 我是否應該在for循環中使用函數,並且使用模板表完全加入 ?

+0

你不能有一個具有不同數量的不同行的列的結果。而你的混淆數據並不能真正幫助你理解這個問題 –

回答

0

最簡單的解決方案是將CROSS JOIN模板的表格與一列中的值設爲xx'yy , zz`。

SELECT t.*, v.* 
FROM template AS t 
CROSS JOIN (SELECT 'xx' AS i0 
      UNION ALL 
      SELECT 'yy' 
      UNION ALL 
      SELECT 'zz') AS foo 
FULL JOIN verify AS v 
    ON (foo.i0,t.i1,t.i2,t.i3,t.i4,t.i5) = (v.i0, v.i1, v.i2, v.i3, v.i4, v.i5); 

SQL Fiddle