有没有办法获得表的(行,列)坐标?
示例:
tbl1: tbl2:
+--------+--------+--------+ +------+-----------+---------+
| Name | ROW | COL | | ROW | COL_0 | COL_1 |
+--------+--------+--------+ +------+-----------+---------+
| VALUE1 | 0 | 0 | | 0 | OPEN | CLOSE |
| VALUE2 | 2 | 1 | | 1 | RIGHT | LEFT |
| VALUE3 | 1 | 0 | | 2 | OFFLINE | ONLINE |
+--------+--------+--------+ +------+-----------+---------+
结果如下:
+--------+----------+
| Name | ROWCOL |
+--------+----------+
| VALUE1 | OPEN |
| VALUE2 | ONLINE |
| VALUE3 | RIGHT |
+--------+----------+
提前致谢!
答案 0 :(得分:2)
这是一个奇怪的要求,但我相信这会奏效:
SELECT name,
CASE COL
WHEN 0 THEN COL_0
WHEN 1 THEN Col_1
END as rowcol
FROM tbl1 as t1
INNER JOIN tbl2 as t2
ON t1.ROW = t2.ROW
答案 1 :(得分:0)
我认为依赖rownumbers等隐含数据并不是一个好主意。
我建议将tbl2重新组织成这样的东西:
create table tbl2 (
rowid integer,
colid integer,
textvalue varchar(32)
);
数据看起来像
0 0 OPEN
0 1 CLOSE
1 0 RIGHT
1 1 LEFT
...
允许您使用
获取结果select tbl1.name as Name, tbl2.textvaluevalue as ROWCOL
from tbl1, tbl2
where tbl1.ROW = tbl2.rowid and tbl1.COL = tbl2.colid