【发布时间】:2017-12-04 15:05:15
【问题描述】:
--------------------Table1-------------
Table1Id item SaleId Dimensions
1 test1 41 10*11*12
2 test2 41 13*14*15
--------------------Table2-------------
Table2Id item Description
1 test1 Test element1 desc 1
2 test1 Test element1 desc 2
3 test2 Test element2 desc 1
4 Test2 Test element2 desc 2
目前我正在使用以下查询。
select Table1.Table1Id, Table1.item, Table1.Dimensions, Table2.Description
on Table1.item = Table2.item
where Table1.SaleId = 41
但我想要这样的结果(需要将 Table1.item 与 Table2 中的项目的第一条记录一起加入)
Result :
Table1Id item Dimensions Description
1 test1 10*11*12 Test element1 desc 1
2 test2 13*14*15 Test element2 desc 1
【问题讨论】:
-
请不要使用不适用于您的问题的标签。我删除了数据库标签,因为不清楚您实际使用的是哪一个。请添加only你实际使用的数据库的标签
-
指定的查询无效,因为它没有 FROM 子句。
-
您所描述的是一个非常普遍的问题。您的联接返回多行。你必须决定你想要哪一行。您声明您想要“第一”行,但您必须以某种方式决定首先定义什么。它可以是像 MIN 或 MAX 这样的聚合。或者您可以使用 ROW_NUMBER 和 order by。
-
基于Table2.id升序。
标签: sql