美好的一天 - 我是SQL的新手,并在这里审查了潜在的解决方案。第一种使用Insert Into命令的方法不起作用。它创建了双行和NULLS。
我已阅读并尝试使用Update-Join语法在此处发布的解决方案。无法做到正确,也许我不需要WHERE条件,也许我不需要等等。
这是两张桌子。我想从IPTEST表,IP列中获取数据并将其插入POSTALTEST表,IP列:
IPTEST TABLE
+---------------+
| IP |
+---------------+
| 65.4.166.241 |
| 65.49.188.24 |
| 65.12.231.173 |
| 65.30.224.18 |
| 65.83.140.96 |
+---------------+
POSTALTEST TABLE
+-------+------+-----------+------+
| zip | zip4 | ailmentID | IP |
+-------+------+-----------+------+
| 15227 | 3709 | 26 | NULL |
| 15227 | 3724 | 29 | NULL |
| 15227 | 3736 | 22 | NULL |
| 15227 | 3737 | 22 | NULL |
| 15227 | 3737 | 26 | NULL |
+-------+------+-----------+------+
如果有人可以提供帮助,我将非常感激,去了解"了解加入"已经如此请有人免除我发布的羞辱并帮助我解释语法:D
亲切的问候,
杰森
答案 0 :(得分:0)
如果您使用的是SQL SERVER:
我建议您再创建一个列,它将成为第一个表中的主键,并添加FOREIGN CONSTRAINT以创建第一个表和第二个表之间的关系
IPTEST TABLE
+---------------++---------------+
| IP_ID | IP |
+---------------++---------------+
| 1 || 65.4.166.241 |
| 2 || 65.49.188.24 |
| 3 || 65.12.231.173 |
| 4 || 65.30.224.18 |
| 5 || 65.83.140.96 |
+---------------++---------------+
-- add primary key
ALTER TABLE IPTEST ADD PRIMARY KEY (IP_ID)
POSTALTEST TABLE
+-------+------+-----------+------+
| zip | zip4 | ailmentID | IP |
+-------+------+-----------+------+
| 15227 | 3709 | 26 | 1 |
| 15227 | 3724 | 29 | 2 |
| 15227 | 3736 | 22 | 3 |
| 15227 | 3737 | 22 | 4 |
| 15227 | 3737 | 26 | 5 |
+-------+------+-----------+------+
-- add FOREIGN CONSTRAINT to create relationship
ALTER TABLE POSTALTEST
ADD CONSTRAINT FK_X FOREIGN KEY (IP)
REFERENCES IPTEST (IP_ID);
-- inner join
SELECT ip_1.*,pt.*
FROM IPTEST as ip_1
INNER JOIN POSTALTEST as pt on ip_1 = pt.IP
如果你只是想知道如何使用插入选择而不是你可以使用:
INSERT INTO POSTALTEST (IP)
SELECT IP
FROM IPTEST