SQL子查询如何返回多列?

材料目录表编码,规格采购发票表,(有多个不同时间的价格)编码,规格,供应商,价格,日期我想生成一个表返回所有材料(材料目录表)的最新价格,供应商,日期要考虑性能,我的采购... 材料目录表
编码,规格

采购发票表,(有多个不同时间的价格)
编码,规格,供应商,价格,日期

我想生成一个表
返回所有材料(材料目录表)的最新价格,供应商,日期
要考虑性能,我的采购发票表有几十万行

请不要用多个子查询来返回多个列,这个方案被我的否定了。
展开
 我来答
du瓶邪
2015-06-15 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2995万
展开全部
在工作表后面的是它的别名,目的是为了书写方便、易读,使用什么字符串都可以
下面是在Access中录制的SQL语句:
SELECT 数据表1.编号
FROM 数据表1 LEFT JOIN 数据表2 ON 数据表1.编号 = 数据表2.编号
WHERE (((数据表2.编号) Is Null));
使用别名:
SELECT a.编号
FROM 数据表1 b LEFT JOIN 数据表2 b ON a.编号 = b.编号
WHERE b.编号 Is Null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2014-10-28 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5190万
展开全部
;with cte as(select *,row_number() over(partition by 编码 order by 日期 desc)rn 
from 采购发票表
)select a.*,b.* from 材料目录表 a left join cte b on a.编码=b.编码 and b.rn=1
更多追问追答
追问
没看懂,像“;with”这是些什么??
追答
公用表表达式,就当做派生表用,先运行里面的语句,得到结果集再与其他表关联
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一颗程序猿o_0
2014-10-28 · TA获得超过6298个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1383万
展开全部
材料表的主键是什么 编码 还是 编码+规格
追问
编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式