- 论坛徽章:
- 0
|
现在有如下三张表格:
-
- cdr_ewan=# select * from i;
- id | cic | cgnum
- ----+------+-------------
- 0 | 1000 | 13100000000
- 0 | 1000 |
- 0 | 2000 | 13200000000
- 0 | 2000 |
- 0 | 3000 | 13300000000
- 0 | 3000 |
- (6 rows)
-
- cdr_ewan=# select * from h;
- id | tdm
- ----+------
- 0 | 1000
- 0 | 1000
- 0 | 2000
- 0 | 2000
- 0 | 3000
- 0 | 3000
- (6 rows)
-
- cdr_ewan=# select * from s;
- id | cgnum
- ------+-------------
- 1111 | 13100000000
- 1111 |
- 2222 | 13200000000
- 2222 |
- 3333 | 13300000000
- 3333 |
- (6 rows)
复制代码
想将前两张表格里的id通过表格三的id赋值(表格s里面的每一个cgnum唯一对应一个id)。
s.13100000000---->;i.cgnum=13100000000's cic=1000
然后将表格i中的所有cic为1000的行的id赋成1111
想请问大家怎样写个程序或几个语句将前两张表格的id赋值?(可以肯定开始之前前两张表格的id都为0,)
生成这三张表格的SQL代码如下:
- DROP TABLE i;
- DROP TABLE h;
- DROP TABLE s;
- CREATE TABLE i (
- id int,
- cic varchar(4),
- cgnum varchar(18)
- );
- CREATE TABLE h (
- id int,
- tdm varchar(4)
- );
- CREATE TABLE s (
- id int,
- cgnum varchar(18)
- );
- INSERT INTO i VALUES(0, '1000', '13100000000');
- INSERT INTO h VALUES(0, '1000');
- INSERT INTO s VALUES(1111, '13100000000');
- INSERT INTO i VALUES(0, '1000', '');
- INSERT INTO h VALUES(0, '1000');
- INSERT INTO s VALUES(1111, '');
- INSERT INTO i VALUES(0, '2000', '13200000000');
- INSERT INTO h VALUES(0, '2000');
- INSERT INTO s VALUES(2222, '13200000000');
- INSERT INTO i VALUES(0, '2000', '');
- INSERT INTO h VALUES(0, '2000');
- INSERT INTO s VALUES(2222, '');
- INSERT INTO i VALUES(0, '3000', '13300000000');
- INSERT INTO h VALUES(0, '3000');
- INSERT INTO s VALUES(3333, '13300000000');
- INSERT INTO i VALUES(0, '3000', '');
- INSERT INTO h VALUES(0, '3000');
- INSERT INTO s VALUES(3333, '');
复制代码 |
|