请教一个sql语句

yqm01 2008-06-06 02:00:49
我有一张内容表content,有字段ID
一张分类表category,有个字段是tableName
还有其它的表等,其中都有一个contentID字段,对应content表中的ID

我现的语句是想查询内容表中的内容,并关联其它表(未知名称,需要从category中的tableName读取)

我是这样写的,但是不行,试了N多了,想不出了这个sql语句

select c.*,t.* from content c left join (select * from (select ca.custom_table from category ca where ca.ID = 8)) t on t.contentId = c.ID where c.ID=8

请帮忙分析一下,错在哪,或正确的写法
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifuzhiming 2008-06-11
  • 打赏
  • 举报
回复
学习
liulcster 2008-06-10
  • 打赏
  • 举报
回复
select c.*,t.*
from content c
left join (
select * from
(select ca.contentId ,ca.custom_table from category ca where ca.ID = 8)) t
on t.contentId = c.ID where c.ID=8
ccssddnnhelp 2008-06-08
  • 打赏
  • 举报
回复

解决方案:

把你所有的contentID所对应的表都UNION起来即可实现你的功能。

select 'tabelName1',* from tableName1
union
select 'tabelName2',* from tableName2
...

然后和你的content一起做联合查询即可。
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
pyx240311920 2008-06-07
  • 打赏
  • 举报
回复
就是 你的要求要用字符串来生成SQL语句,直接用SQL是不行的 你试一下看 呵呵
JustSoSoAtCn 2008-06-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 WWWWA 的回复:]
你的要求要用字符串来生成SQL语句,直接用SQL是不行的
[/Quote]

写个函数或者过程吧
yqm01 2008-06-06
  • 打赏
  • 举报
回复
那就是要分开查询了,分开的话记录多的时候效率可能要低点了
WWWWA 2008-06-06
  • 打赏
  • 举报
回复
你的要求要用字符串来生成SQL语句,直接用SQL是不行的
yqm01 2008-06-06
  • 打赏
  • 举报
回复
就是我的left join xxxx
这个xxxx表名是要从categroy中取得,而内容表content都有个catId,和catgory表的ID对应

就是查询过程应该是怎么样

假如现在我要查一条内容content表ID为8的记录,他会从ID为8的content表中查出这条记录对应的catId,然后再根据catId从category中查出tableName为xxxx,然后这个xxxx表中contentID为8的记录left join到这个查询中.


不知我讲清楚没.我试过N多种写法,还是不行
WWWWA 2008-06-06
  • 打赏
  • 举报
回复
详细一点,将记录及正确结果贴出来看看,简要说明结果是怎样得出的。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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