Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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 - Fatal编程技术网

SQL:如何返回包含多行数据的记录

SQL:如何返回包含多行数据的记录,sql,Sql,我遇到了一个问题,我正在创建一个报告,需要显示有两个或两个以上银行账户的记录。我们的一些员工是国际员工,并以多种货币获得报酬 我创建的报告返回了所有员工及其银行帐户信息。但是,我只希望这份报告能让拥有2个或更多银行账户的员工回来 以下是一些测试数据: 正如你所看到的,加雷思有不止一个银行账户——我可以写什么过滤器来找回他的记录呢 假设是mysql、sqlite甚至postgresql,我想。应该是 SELECT * FROM table_name WHERE "First Name" = "Ga

我遇到了一个问题,我正在创建一个报告,需要显示有两个或两个以上银行账户的记录。我们的一些员工是国际员工,并以多种货币获得报酬

我创建的报告返回了所有员工及其银行帐户信息。但是,我只希望这份报告能让拥有2个或更多银行账户的员工回来

以下是一些测试数据:


正如你所看到的,加雷思有不止一个银行账户——我可以写什么过滤器来找回他的记录呢

假设是mysql、sqlite甚至postgresql,我想。应该是

SELECT * FROM table_name WHERE "First Name" = "Gareth";
但是,如果您使用的是MySQL excel绑定,请确保Gareth的每个帐户都已列出。它可能看起来更干净,但SQL会将Gareth下面的行解释为。这样做还意味着您将需要一个新的索引,名字不能设置为唯一的。列中有空格也是非常难看的SQL语法,最好使用camelCase或under_分数

假设Person_Number是表accounts的主键


如果您使用的是oracle、sqlserver之类的数据库,请尝试此方法

select b1.* from account_info_table b1 where exists (select 1 from account_info_table b2 where b1.first_name=b2.first_name group by b2.first_name having count(*)>2);


从empleado中选择empleado 按雇员分组
计数*>1

不要将样本数据作为图像输入。而是将它们作为文本发布。您使用的是什么关系数据库管理系统?请阅读并回答您使用的是哪种数据库管理系统?博士后?Oracle?请回答您的问题并添加您正在使用的查询。请,如果存在,请从accounts表中选择1,其中相同的用户谓词和不同的帐户谓词应在任何sql DBMS中工作。如果需要更多帮助,请遵循上面的建议。感谢您捕捉到这一点。虽然这段代码片段是受欢迎的,并可能提供一些帮助,但它将是如何以及为什么解决这个问题。记住,你是在将来回答读者的问题,而不仅仅是现在提问的人!请您的回答添加解释,并说明适用的限制和假设。一个人拥有多家银行的多个帐户。我们的数据中有记录的单个列,当我们获得该人的多个记录时,将其放在特定列的分区上。我们根据需要使用分区
select b1.* from account_info_table b1 where exists (select 1 from account_info_table b2 where b1.first_name=b2.first_name group by b2.first_name having count(*)>2);
select * from account_info_table where first_name in (select first_name from account_info_table group by first_name having count(*)>2); 
Use This Code : 
;WITH _CTE AS
(
SELECT *,ROW_NUMBER()OVER(PARTITION BY FirstName Order By FirstName)ROWNO FROM  @Temp
)SELECT FirstName,BankAccountName,BankBranchName,BankAccountNo,SortCode FROM _CTE WHERE ROWNO > 1