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 返回每个联接表项的所有项,但仅返回第一项_Sql_Sql Server_Join - Fatal编程技术网

Sql 返回每个联接表项的所有项,但仅返回第一项

Sql 返回每个联接表项的所有项,但仅返回第一项,sql,sql-server,join,Sql,Sql Server,Join,此查询返回与容器\u B相关的所有容器\u A项目的所有元素。 问题是-如何仅获取与每个容器项目相关的第一个(最小Id)项目。这样的查询的问题是,“第一个”没有任何意义,除非您指定项目在组中的顺序。如果您想要最低的项目id,则可以在容器b上分组,并使用minaggreagate从每组中获取最低的项目id: SELECT Id FROM Container_A JOIN Container_B ON Container_A.Container_B_FK = Container_B.Id OR

此查询返回与容器\u B相关的所有容器\u A项目的所有元素。
问题是-如何仅获取与每个容器项目相关的第一个(最小Id)项目。

这样的查询的问题是,“第一个”没有任何意义,除非您指定项目在组中的顺序。如果您想要最低的项目id,则可以在容器b上分组,并使用
min
aggreagate从每组中获取最低的项目id:

SELECT Id
FROM Container_A 
JOIN Container_B 
ON 
Container_A.Container_B_FK = Container_B.Id
ORDER BY Container_A.Id
SELECT Id
FROM Container_A 
 JOIN Container_B 
   ON Container_A.Container_B_FK = Container_B.Id
 ORDER BY Container_A.Id ASC
 LIMIT 0,1

像这样的查询的问题是,“first”没有任何意义,除非您指定组中项目的顺序。如果您想要最低的项目id,则可以在容器b上分组,并使用
min
aggreagate从每组中获取最低的项目id:

SELECT Id
FROM Container_A 
 JOIN Container_B 
   ON Container_A.Container_B_FK = Container_B.Id
 ORDER BY Container_A.Id ASC
 LIMIT 0,1

非常感谢您对所有这些的帮助和描述。这真的很有帮助。另外,现在我知道了将来如何处理这些事情:)非常感谢您的帮助和对所有这些的描述。这真的很有帮助。再加上现在我知道以后怎么处理这样的事情:)
SELECT Id
FROM Container_A 
 JOIN Container_B 
   ON Container_A.Container_B_FK = Container_B.Id
 ORDER BY Container_A.Id ASC
 LIMIT 0,1
select
  b.Id,
  min(a.Id) as A_Id
from
  Container_B b
  inner join Container_A a on a.Container_B_FK = b.Id
group by
  b.Id
order by
  b.Id