Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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 如何使用变量查询表A中包含链接表B中某列中指定值的所有记录?_Sql_Variables - Fatal编程技术网

Sql 如何使用变量查询表A中包含链接表B中某列中指定值的所有记录?

Sql 如何使用变量查询表A中包含链接表B中某列中指定值的所有记录?,sql,variables,Sql,Variables,假设我们有两个表A和B,A包含将其链接到表B的外键B_id。表B包含另一个名为FROUTS的列 在SQL Server中,使用变量或表变量查询表A中的所有记录(表B中的引用记录在FROUTS列中包含“apple”、“orange”或“pear”)的最佳方法是什么?您不需要变量;这是SQL101 select * from a inner join b on a.b_id = b.id where b.fruits in ('apple', 'orange', 'pear') 也许他希望水果列表

假设我们有两个表A和B,A包含将其链接到表B的外键B_id。表B包含另一个名为FROUTS的列


在SQL Server中,使用变量或表变量查询表A中的所有记录(表B中的引用记录在FROUTS列中包含“apple”、“orange”或“pear”)的最佳方法是什么?

您不需要变量;这是SQL101

select * from a
inner join b
on a.b_id = b.id
where b.fruits in ('apple', 'orange', 'pear')

也许他希望水果列表是可变的谢谢,但我实际上在尝试将大量字符串存储到变量中的最佳方法,因为这只是一个大大简化的示例。我认为表变量是类似问题的首选答案,但如果第二个表中有数百个字符串要检查,而不是三个,那需要数百个insert语句吗?啊,这更清楚了。在这种情况下,我会看看@Ala的答案。