我想從已定義的字符串列表中選擇數據,稍後將根據該列表進行基於某些條件的過濾。從字符串列表中選擇數據sql
但是,當我想下面的代碼:
List<string> inventoryList = new List<string>();
inventoryList.Add("a147");
inventoryList.Add("w150");
string.Format("SELECT * FROM (VALUES '{0}') AS InventoryList(InventoryCode)"
+ " SELECT a.[InventoryCode] FROM [InventoryList] a INNER JOIN [PlayerAccount] b WITH (NOLOCK) ON a.[InventoryCode] = b.[PlayerInventoryCode] WHERE b.[PlayerID] = 146", inventoryList);
--- Other codes to connect to the database and so on ----
它會產生這樣的:
SELECT * FROM (VALUES 'System.Collections.Generic.List`1[System.String]') AS InventoryList(InventoryCode) SELECT a.[InventoryCode] FROM [InventoryList] a INNER JOIN [PlayerAccount] b WITH (NOLOCK) ON a.[InventoryCode] = b.[PlayerInventoryCode] WHERE b.[PlayerID] = 146
,而且我得到的錯誤是:
異常:'System.Collections.Generic.List`1 [System.String]'附近的語法不正確。
編輯:
預期結果將創建InventoryList
表InventoryCode
爲列名與內部的上述值:
InventoryList <-- table
InventoryCode <-- column name
1. a147
2. w150
然後,會像普通查詢:
SELECT a.[InventoryCode] FROM InventoryList a INNER JOIN [PlayerAccount] ....
您的預期產出是多少? – ekad
而不是你的查詢應該如何? –
嗨@ @ usad和@Mohid Shrivastava,查詢應該如下所示:'SELECT * FROM(VALUES'a147','w150')AS InventoryList(InventoryCode)''然後,在表'InventoryList'後列名爲InventoryCode '有以下數據:'a147'和'w150',然後我將用另一個表格查詢結果。謝謝 – Reinhardt