场合
t =模板表
i0 i1 i2 i3 i4 i5
aa ab cd ef gh ij
aa de gg jj kk dd
r =验证表格
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);