只需要一个表中的列

nhaq1z21  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(310)

我已经写了下面的内容,注意到它将从orderitems和order表中恢复所有列,其中我只需要orderitem表中的所有列。

`SELECT * FROM [OrderItem] oi INNER JOIN
 [Order] o
 ON o.[pkOrderID] = oi.[fkOrderID]
 WHERE [dReceievedDate] BETWEEN @StartDate AND @EndDate;`

从order表到orderitem表之间存在一对多关系,因此非常感谢您在这方面提供的任何帮助。

xxslljrj

xxslljrj1#

你可以 select oi.* 或者最好命名所有要选择的列( select oi.fkorderid, oi.item_no, ... ). 但为什么要加入 order 当你不想看到它的数据时?使用 IN 或者 EXISTS 取而代之的是:

select *
from orderitem oi
where fkorderid in 
(
  select pkorderid
  from [order] o
  where dreceieveddate between @startdate and @enddate
);

相关问题