Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server-从一个表插入到另一个值不为null的表_Sql Server_Database_Stored Procedures_Sql Insert_Sql Null - Fatal编程技术网

Sql server SQL Server-从一个表插入到另一个值不为null的表

Sql server SQL Server-从一个表插入到另一个值不为null的表,sql-server,database,stored-procedures,sql-insert,sql-null,Sql Server,Database,Stored Procedures,Sql Insert,Sql Null,我有一个表A,我正试图将它的值连接到表B中。表B不允许在列项下使用null。表a中有一些项的项值为空。我试图插入到这个表中,并设置一个不包含等于NULL的值的条件 以下是表A的一个示例: +---+-----------------+ |ID | SizeID |Item | +---------------------+ | | | + | 1 | 22 | Clothing +---------------------+ | 2 | 2

我有一个表A,我正试图将它的值连接到表B中。表B不允许在列
项下使用null。
表a
中有一些项的
值为空。我试图插入到这个表中,并设置一个不包含等于NULL的值的条件

以下是表A的一个示例:

+---+-----------------+
|ID | SizeID |Item    |
+---------------------+
|   |        |        +
| 1 |  22    | Clothing
+---------------------+
| 2 |   2    | Shoes  |
+---------------------+
| 3 |   11   |  NULL  |
+---------------------+
| 4 |   9    |  NULL  |
+---------------------+
| 5 |   10   |  Hats  |
+---+--------+--------+
表B具有相同的列命名约定。由于某些空值和表B不允许空值,我在运行insert查询时出错。因此,我试图通过使用
Where Item NULL
来解决这个问题,但是当运行这个查询时,我有0行受到影响

如果
Item
不为空,如何更改查询以插入表B

以下是我的查询示例:

INSERT INTO dbo.TableB ([SizeID], [Item])
SELECT(SizeID as SizeID, Item as Item)
FROM dbo.TableA
WHERE Item <> NULL
插入dbo.TableB([SizeID],[Item])
选择(SizeID作为SizeID,Item作为Item)
来自dbo.TableA
其中项为空

这并不像您认为的那样:

WHERE Item <> NULL

请注意,我删除了
SELECT
子句中列周围的括号以及不必要的别名。

这与您认为的不同:

WHERE Item <> NULL

请注意,我删除了
SELECT
子句中列周围的括号以及不必要的别名。

其中Item不为NULL
其中Item不为NULL