【发布时间】:2016-03-08 15:17:36
【问题描述】:
我有 2 个具有以下结构的表:
// tab1:
| ID | Col1 | Col2 | Col3 | Col4 |
|----|------|------|------|------|
| 1 | Val1 | Val2 | Val3 | Val4 |
| 2 | Val5 | Val6 | Val7 | Val8 |
// tab2:
| Name |
|------|
| Col1 |
| Col3 |
我现在需要从tab1 获取所有值,并以某种方式将它们与tab2 列的值连接起来,以便在前端来自tab1 的所有列也存在于tab2 中,是粗体。
在伪代码中它看起来像这样:
SELECT Col1, COl2, Col3, Col4 FROM tab1, tab2 WHERE ID=1 AND {possibly a left join on tab2}
作为前端表格的所需输出可能是:
值 1:Val1
值 2:Val2
值 3:Val3
值 4:Val4
由于col1 和col3 也在tab2 中,所以它们的值应该是粗体。
所以我只需要带有“标志”的适当查询。然后在前端我将循环结果并查找标志。如果设置了标志,则将该值显示为粗体。
我对数据库结构并没有真正的影响。
【问题讨论】:
-
两张表的连接条件是什么?
-
tab1的表是否有固定数量的colN列?我的意思是(col1、col2、col3 和 col4)?您如何将这两个表关联起来? -
@DylanSu:没有实际的加入条件。它只应该检查来自
tab1的列是否也存在于tab2中。 -
@1000111:不,没有固定的列宽。它们并不真正相关。
-
以上tab2结构是否完整? tab2 只有一列?如果是,则您没有机会执行 JOIN。此外,如果 tab1 中的一行 was/is/will 被删除会怎样?