Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 在新列上使用条件求和列值_Sql_Ms Access_Select - Fatal编程技术网

Sql 在新列上使用条件求和列值

Sql 在新列上使用条件求和列值,sql,ms-access,select,Sql,Ms Access,Select,假设我有下表: Letter Item1 Item2 'a' 2 3 'b' 3 5 'c' 6 7 如果我传递的单词包含某些字母,如何编写查询,返回该单词的项目总数?例如: Word Sum 'ab' 13 'abc' 26 'bc' 21 编辑:我需要在查询中传递几个单词。考虑: 通过[enter word]从表1分组中选择[enter word]作为单词和总和(IIf(InStr([enter word],[Letter]

假设我有下表:

Letter  Item1  Item2
'a'     2      3
'b'     3      5
'c'     6      7
如果我传递的单词包含某些字母,如何编写查询,返回该单词的项目总数?例如:

Word  Sum
'ab'  13
'abc' 26
'bc'  21
编辑:我需要在查询中传递几个单词。

考虑:

通过[enter word]从表1分组中选择[enter word]作为单词和总和(IIf(InStr([enter word],[Letter])>0[Item1]+[Item2],0]),作为LtrSum

选择DISTINCT[enter word1]作为W1,Sum(IIf(InStr[enter word1],[Letter])>0[Item1]+[Item2],0)作为C1,输入word2]作为W2,Sum(IIf(InStr[enter word2],[Letter])>0[Item1+[Item2],0]作为C2,输入word3]作为W3,Sum(IIf(InStr[enter word3],[Letter])>0[Item1+[Item2],0])作为C3
来自表1
分组依据[输入字1]、[输入字2]、[输入字3]

选择不同的[enter word1]作为W1,DSum(“项目1”,“表格1”,“仪器('”&[enter word1]&“,[Letter])>0)+DSum(“项目2”,“表格1”,“仪器('”&[enter word1]&“,[Letter])>0作为C1,[enter word2]作为W2,DSum(“项目1”,“表格1”,“仪器('”&[enter word2]&“,[Letter])>0”)+DSum(“项目2”,“表格1”,“仪器('”&[enter word2],[Letter])>0”)作为C2,[输入文字3]作为W3,DSum(“项目1”、“表1”、“指令”(“&[输入文字3]&“,[Letter])>0”)+DSum(“项目2”、“表1”、“指令”(“&[输入文字3]&“,[Letter])>0)作为C3
来自表1

选择表2.Word,Sum(IIf(InStr([Word],[Letter])>0[Item1]+[Item2],0])作为LtrSum
从表2到表1
按表2分组

您只需使用:


为什么不考虑<代码> CA>代码>或者代码> AC/<代码>?@ VijaykumarHadalgi,这只是一个例子。谢谢。但是,如果我需要在查询中传递(比如)5个单词,而这些单词没有存储在另一个表中,该怎么办?请参阅修订版的answerCharIndex在Access查询中不是可识别的函数。
SELECT SUM(Item1) + SUM(Item2)
FROM TABLE_NAME WHERE CHARINDEX(Letter, ENTER_WORD) > 0