sql语句,在线等

xuxiaomei2707 2012-03-02 02:54:08
一个主表,TA
id 主键
title 标题
content 内容

一个子表 TB 这个表存的是对TA表的评论
id 主键
comment 评论


我想查TA表中所有的数据,在加上每个标题的评论数

标题 内容 评论条数
...全文
163 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
haozhibing45 2012-03-02
  • 打赏
  • 举报
回复
搞什么啊,两个表关系都没有
CodingR 2012-03-02
  • 打赏
  • 举报
回复
TB这个表应该设个外键和TA表关联一下


select T1.*,replaySum=(select count(*)
from T2 TB where T2.id=T1.id) from TA T1
EnForGrass 2012-03-02
  • 打赏
  • 举报
回复
越调越错

CREATE TABLE TA
(
tid INT PRIMARY KEY,
title VARCHAR(50),
tcontent TEXT
)
INSERT INTO TA VALUES(1,'C#','ab')
INSERT INTO TA VALUES(2,'sql','cd')
INSERT INTO TA VALUES(3,'java','ef')
CREATE TABLE TB
(
tid INT REFERENCES TA(tid),
comment TEXT
)
INSERT INTO TB VALUES(1,'hi')
INSERT INTO TB VALUES(1,'rr')
INSERT INTO TB VALUES(2,'tt')
INSERT INTO TB VALUES(2,'yy')
INSERT INTO TB VALUES(3,'yu')
SELECT *,num=(SELECT COUNT(*) FROM TB where TA.tid=TB.tid) FROM TA
/*
tid title tcontent num
----------- ---------- ------------- ------
1 C# ab 2
2 sql cd 2
3 java ef 1

(3 行受影响)
*/
EnForGrass 2012-03-02
  • 打赏
  • 举报
回复
调整一下

CREATE TABLE TA
(
tid INT PRIMARY KEY,
title VARCHAR(50),
tcontent TEXT
)
INSERT INTO TA VALUES(1,'C#','ab')
INSERT INTO TA VALUES(2,'sql','cd')
INSERT INTO TA VALUES(3,'java','ef')
CREATE TABLE TB
(
tid INT REFERENCES TA(tid),
comment TEXT
)
DROP TABLE TA
INSERT INTO TB VALUES(1,'hi')
INSERT INTO TB VALUES(1,'rr')
INSERT INTO TB VALUES(2,'tt')
INSERT INTO TB VALUES(2,'yy')
INSERT INTO TB VALUES(3,'yu')
SELECT *,num=(SELECT COUNT(*) FROM TB where TA.tid=TB.tid) FROM TA
/*
CREATE TABLE TA
(
tid INT PRIMARY KEY,
title VARCHAR(50),
tcontent TEXT
)
INSERT INTO TA VALUES(1,'C#','ab')
INSERT INTO TA VALUES(2,'sql','cd')
INSERT INTO TA VALUES(3,'java','ef')
CREATE TABLE TB
(
tid INT REFERENCES TA(tid),
comment TEXT
)
DROP TABLE TA
INSERT INTO TB VALUES(1,'hi')
INSERT INTO TB VALUES(1,'rr')
INSERT INTO TB VALUES(2,'tt')
INSERT INTO TB VALUES(2,'yy')
INSERT INTO TB VALUES(3,'yu')
SELECT *,num=(SELECT COUNT(*) FROM TB where TA.tid=TB.tid) FROM TA
/*
tid title tcontent num
----------- ---------- ------------- ------
1 C# ab 2
2 sql cd 2
3 java ef 1

(3 行受影响)
*/
*/
EnForGrass 2012-03-02
  • 打赏
  • 举报
回复

CREATE TABLE TA
(
tid INT PRIMARY KEY,
title VARCHAR(50),
tcontent TEXT
)
INSERT INTO TA VALUES(1,'C#','ab')
INSERT INTO TA VALUES(2,'sql','cd')
INSERT INTO TA VALUES(3,'java','ef')
CREATE TABLE TB
(
tid INT REFERENCES TA(tid),
comment TEXT
)
DROP TABLE TA
INSERT INTO TB VALUES(1,'hi')
INSERT INTO TB VALUES(1,'rr')
INSERT INTO TB VALUES(2,'tt')
INSERT INTO TB VALUES(2,'yy')

SELECT *,num=(SELECT COUNT(*) FROM TB where TA.tid=TB.tid) FROM TA
/*
tid title tcontent num
----------- -------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------
1 C# ab 2
2 sql cd 2
3 java ef 0

(3 行受影响)
*/
猿序程 2012-03-02
  • 打赏
  • 举报
回复
你的TB表差一个与TA表关联的外键Id啊,比如叫taid
select a.title,a.content,replaySum=(select count(*) from TB b where b.taid=a.id) from TA a
xuxiaomei2707 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qxyywy 的回复:]
你的TB表应该有个TAID对应TA的主键

select title ,content,replaySum=(select count(*) from tb where tb.TAID=ta.id)
from Ta
[/Quote]

是的,TB表少写了一个,这上面忘了写了,谢谢了
华生 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qxyywy 的回复:]
你的TB表应该有个TAID对应TA的主键

select title ,content,replaySum=(select count(*) from tb where tb.TAID=ta.id)
from Ta
[/Quote]+++++
夜色镇歌 2012-03-02
  • 打赏
  • 举报
回复

select a.title,a.content,replaySum=(select count(*) from TB b where b.taid=a.id) from TA a
qxyywy 2012-03-02
  • 打赏
  • 举报
回复
你的TB表应该有个TAID对应TA的主键

select title ,content,replaySum=(select count(*) from tb where tb.TAID=ta.id)
from Ta

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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