在delphi中如何把两个表链接起来?

linlingwei 2012-09-30 12:22:20
有access两个表
ck表和jk表

ck表:
id ck_num
001 20
001 10
003 25

jk表:
id jk_num
001 50
002 40
002 5

如何让其显示为:
id ck_num jk_num
001 30 50
002 0 45
003 25 0
这个查询语句应该怎么写呢?
研究了两天,还是没做出来。大侠帮帮忙
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-10-01
  • 打赏
  • 举报
回复
楼上的可行,不过要用union all,而不是union
kenlewis 2012-09-30
  • 打赏
  • 举报
回复

SELECT
id,
SUM(ck_num) AS ck_num,
SUM(jk_num) AS jk_num
FROM
(
SELECT
id,
ck_num,
0 AS jk_num
FROM ck
UNION
SELECT
id,
0 AS ck_num,
jk_num
FROM jk
) A
GROUP BY id
kenlewis 2012-09-30
  • 打赏
  • 举报
回复
上面那个SQL语句写错了。这个才对。
SELECT
id,
SUM(ck_num) AS ck_num,
SUM(jk_num) AS jk_num
FROM
(
SELECT
id,
ck_num,
0 AS jk_num
FROM ck
UNION
SELECT
id,
0 AS ck_num,
jk_num
FROM jk
) A
GROUP BY id
kenlewis 2012-09-30
  • 打赏
  • 举报
回复
SELECT
id,
ck_num,
jk_num
FROM
(
SELECT
id,
ck_num,
0 AS jk_num
FROM ck
UNION
SELECT
id,
0 AS ck_num,
jk_num
FROM jk
) A
linlingwei 2012-09-30
  • 打赏
  • 举报
回复
to bdmh:
两个表都用到 sum()和group by,你的语句不行呀
bdmh 2012-09-30
  • 打赏
  • 举报
回复
select a.id,a.ck_num,b.jk_num from ck as a inner join jk as b on a.id=b.id

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧