-2
考虑以下模式:SQL:选择/忽略表的基础上,记录在一个阵列
CREATE TABLE Test
(`id` int, `TestName` varchar(7), `description` varchar(55));
INSERT INTO Test
(`id`, `TestName`, `description`)
VALUES
(1, 'Test1', 'Td1'),(2, 'Test2', 'Td2'),(3, 'Test3', 'Td2');
CREATE TABLE Forcedata
(`id` int, `ForceData` varchar(7), `description` varchar(55));
INSERT INTO Forcedata
(`id`, `ForceData`, `description`)
VALUES
(1, 'F1', 'Fd1'), (2, 'F2', 'Fd2'), (3, 'F3', 'Fd3');
CREATE TABLE Temp
(`id` int, `TempName` varchar(7), `description` varchar(55));
INSERT INTO Temp
(`id`, `TempName`, `description`)
VALUES
(1, 'Tm1', 'Tmd1'),(2, 'Tm2', 'Tmd2');
CREATE TABLE Sensor
(`id` int, `SensorName` varchar(7), `description` varchar(55));
INSERT INTO Sensor
(`id`, `SensorName`, `description`)
VALUES
(1, 'S1', 'Sd1'),(2, 'S2', 'Sd2');
我想写的SELECT语句会从表中一个数组,这个数据中提到的值不应该在另一个阵列的任何表格中。我想要做这样的事情:
DECLARE @ListToCheck VARCHAR(MAX)
SET @ListToCheck = 'Test' + ', ' + 'Forcedata';
DECLARE @TablesToavoid VARCHAR(MAX)
SET @TableToAvoid = 'Temp' + ', ' + 'Sensor';
SELECT id FROM
tables in ('[email protected]+')'
And WHERE id should NOT be IN ('[email protected]+')'
因此,对于上述模式,只应选择id为3的记录。在此先感谢:)
我可以知道为什么2张反对票? – zzai