Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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
C# 插入查询中的嵌套选择_C#_Mysql_Nested Query - Fatal编程技术网

C# 插入查询中的嵌套选择

C# 插入查询中的嵌套选择,c#,mysql,nested-query,C#,Mysql,Nested Query,这些是我的桌子: Equipment ------------- ID INT (PKey) Name CHAR(10) Type CHAR(10) LocationID INT (FKey) Description TEXT Location ------------- LocationID INT (PKey) Name CHAR(10) Code INT 在输入新设备时,用户将获得一个要选择的位置代码列表。这是用户识别设备的方式。LocationID 但是,如果我将

这些是我的桌子:

 Equipment
-------------
 ID INT (PKey)
 Name CHAR(10)
 Type CHAR(10)
 LocationID INT (FKey)
 Description TEXT

 Location
-------------
 LocationID INT (PKey)
 Name CHAR(10)
 Code INT
在输入新设备时,用户将获得一个要选择的位置代码列表。这是用户识别设备的方式。LocationID

但是,如果我将Location.Code的数据输入为Equipment.LocationID,则会中断系统。有更好的方法吗?例如,我能想出一种方法来选择Location.LocationID并使用in-place of-Equipment.LocationID吗

注意,我无法更改用户选择的内容,这必须保持不变

例如,伪代码:

string userInput = "110"; // Location.Code
SELECT LocationID FROM Location WHERE Code = @userInput;

userInput = LocationID; // LocationID = 1;
INSERT INTO Equipment(LocationID) VALUES (@userInput);

这是最好的方法还是有更有效的方法?

将两个查询合并为一个查询,如下所示

INSERT INTO Equipment(LocationID) SELECT LocationID FROM Location WHERE Code = '110';

是插入到EquipmentLocationID值中,从代码为“110”的位置选择LocationID吗;?是的,这两个都是有效的查询。我在插入多个字段时尝试了这个方法,并将其括在括号中,效果非常好。非常感谢!