我有一个网站,该网站将<select>选项存储在多个表中,并根据单个页面提取所有相关选项。此刻,我结束了这样的查询:SELECT foo FROM foo_tbl;SELECT bar FROM bar_tbl;etc。这确实不是一个坏问题,但是我必须逐个遍历每个选择结果。
<select>
SELECT foo FROM foo_tbl;SELECT bar FROM bar_tbl;etc
我想将所有这些提取到单个网格中,然后执行类似的操作
if $row['foo'] != NULL { add to the foo options } if $row['bar'] != NULL { add to the bar options } etc
如果使用类似的查询SELECT DISTINCT f.foo, b.bar FROM foo_tbl AS f, bar_tbl AS b,则会结束所有可能的行组合(第一个foo第一栏,第二个foo第二栏,第二个foo第一栏,第二个foo第二栏等)。
SELECT DISTINCT f.foo, b.bar FROM foo_tbl AS f, bar_tbl AS b
有没有一种方法可以执行这样的选择,并且每个元素在一个列中只有一个实例,并且用空值填充该列中的其余行?
您可以执行以下操作:假设表foo的列为a,b,c,表栏的列为d,e,f
Select 'isFOO', a, b, c, null, null, null from foo Union All Select 'isBAR',null, null, null, d, e, f from bar