大家好我需要做一个不包含null值的自连接。
创建表格:
CREATE TABLE t2 (
col1 varchar(255),
col2 varchar(255),
col3 varchar(255),
col4 varchar(255),
col5 varchar(255),
col6 varchar(255)
);
--Populate the table:
INSERT INTO t1 (col1, col2, col3, col4, col5, col6)
VALUES
('1', '', 'new1', 'name1','',''),
('2', '', 'new2', 'name2','oldvalue1',''),
('3', '', 'new3', 'name3','',''),
('4', 'value1', 'new4', 'name4','','')
;
--Resulting in:
| col1 | col2 | col3 | col4 | col5 | col6 |
| 1 | | new1 | name1 | | |
| 2 | | new1 | name1 | oldvalue1 | |
| 3 | | new1 | name1 | | |
| 4 | value1 | new1 | name1 | | |
我的更新:
更新t2 AS A,t2 AS B
设置A.col6 = B.col3
其中B.col5 = A.col2;
但结果是:
| col1 | col2 | col3 | col4 | col5 | col6 |
| 1 | | new1 | name1 | | new1 |
| 2 | | new1 | name1 | oldvalue1 | new1 |
| 3 | | new1 | name1 | | new1 |
| 4 | value1 | new1 | name1 | | |
我想要的是:
| col1 | col2 | col3 | col4 | col5 | col6 |
| 1 | | new1 | name1 | | |
| 2 | | new1 | name1 | oldvalue1 | new1 |
| 3 | | new1 | name1 | | |
| 4 | value1 | new1 | name1 | | |
我做错了什么?
我在mac上使用myspql和sequelpro
谢谢!
答案 0 :(得分:0)
更新b 设置b.col6 = a.col3 从t2 a b.col5上的内连接t2 b = a.col2
答案 1 :(得分:0)
感谢所有帮助。我弄清楚我的问题是什么。在表中,null cess只是空白,他们没有包含" NULL"在他们中。一旦我更新了表格,就有了#34; NULL"在空白单元格中然后一切正常。再次感谢帮助我完成我的SQL旅程。