如何在一行中返回两个字段名相同的值,sql句法求救,在线等......

yeah1998 2003-06-03 12:59:24
我用php+mysql做一个论坛,格式如下:
我的BBS格式:
====================================================================
标题 | 作者 | 回复人 |
--------------------------------------------------------------------
我使用了三个表:
1..user(bbs用户表)
---------
fieldname
---------
user_id
user_name

2..bbs(bbs表1,主要存放标题,正文,作者号,回复人代号)
---------
bbs_id
title
content
user_id
reply_user_id

3..bbs_detail(BBS表2,主要存放回复内容,包括回复人号等)
-------------
bbs_id
user_id
content

bbs、bbs_detail通过user_id与user表关联
bbs、bbs_detail通过bbs_id关联
-------------------------------------------------------------------
问题:
我想在我的BBs格式中显示user_name,而不是user_id,而且想用尽可能少的sql语句,最好是一句来返回结果,请问该如何做啊?

...全文
108 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vitalgg 2003-06-03
  • 打赏
  • 举报
回复
MySQL目前不支持子查询!
vitalgg 2003-06-03
  • 打赏
  • 举报
回复
SELECT b.title as title,a.user_name as user_name,c.user_name as reply_user_name,b.bbs_id as bbs_id FROM user a,bbs b,user c WHERE b.user_id=a.user_id and b.reply_user_id=c.user_id;
dustwoo 2003-06-03
  • 打赏
  • 举报
回复
试试能用吗?

select title,user_name, (select user_name from user where user.user_id=bbs.reply_user_id) as reply_user from (user left join bbs on user.user_id = bbs.user_id left join bbs_detail on bbs_detail.user_id = bbs.user_id) where bbs.bbs_id = bbs_detail.bbs_id
jirigala 2003-06-03
  • 打赏
  • 举报
回复
A表
B表

select A.a as aa,B.a as ba
where A.c = B.c

类似就可以解决问题了.
yeah1998 2003-06-03
  • 打赏
  • 举报
回复
xizi2002(☆☆戏☆子☆☆)
表结构就在顶楼啦
as002(雨人)
表结构应该是合理的,这是一个一对多的表格(bbs:bbs_detail)
example:
<bbs>
====================================================================
标题 | 作者user_id | 回复人reply_user_id |bbs_id
--------------------------------------------------------------------
今天天气怎样? 009 003 1
大家好吗?    006 008 2
--------------------------------------------------------------------
<bbs_detail>
====================================================================
bbs_id | user_id | contents
--------------------------------------------------------------------
1 001 我们这里在下雨
  1 003 我们这里天晴
2 002 很好
2 008 很好
--------------------------------------------------------------------
为了减少冗余,在上面两个表里只存储用户代号user_id,在显示论坛的时候代换成用户名user_name
  • 打赏
  • 举报
回复
笨,用子查询啦!

select username , (select username from bbs where username=回复者) from bbs where username=发帖者

哈,以上可是大意,不可运行通过的,自己再细化,就是这个意思啦
as002 2003-06-03
  • 打赏
  • 举报
回复
table 设计不合理
xizi2002 2003-06-03
  • 打赏
  • 举报
回复
给我你的建表结构,
yeah1998 2003-06-03
  • 打赏
  • 举报
回复
上面二位老兄的方法我都知道了,不行
其实问题的关键在于:表格一的每一行都需要显示user_name两次,一个是作者,另一个是回复人,所以不管怎么写,都是形如:select user_name from .....,只有一个user_name,所以不能取到两个不同的user_name
xizi2002 2003-06-03
  • 打赏
  • 举报
回复
试试行不行
select * from user left join bbs on user.user_id = bbs.user_id left join bbs_detail on bbs_detail.user_id = bbs.user_id where bbs.bbs_id = bbs_detail.bbs_id
yeah1998 2003-06-03
  • 打赏
  • 举报
回复
楼上老大,还是不行啊!!!!!!
别的BBS都是怎么做出来的啊?
vitalgg 2003-06-03
  • 打赏
  • 举报
回复
select * from bbs a,bbs_detail b,user c where c.user_id=b.user_id and a.bbs_id=b.bbs_id;//返回所有字段
==========================================================================
select a.*,b.*,c.user_name from bbs a,bbs_detail b,user c where c.user_id=b.user_id and a.bbs_id=b.bbs_id;//返回bbs,bbs_detail中的所有字段值和user中的user_name字段值
内容概要:本文围绕基于电感电容电流环PI与前馈补偿矩阵构造的跟网型储能变流器,开展dq坐标系下的阻抗理论建模与Simulink仿真对比研究。通过建立储能变流器在dq域的数学模型,设计包含电感电流内环、电容电流中间环和电压外环的多环控制结构,并引入前馈补偿矩阵以提升系统的动态响应能力和稳定性。在此基础上,采用小信号分析法推导系统的输出阻抗模型,构建完整的dq域阻抗理论框架,并利用Simulink平台搭建高保真仿真模型进行频域扫频验证,实现理论建模与仿真结果的精确对比,深入分析控制参数对系统阻抗特性的影响规律,揭示其在抑制并网系统振荡、提升稳定性方面的关键作用,为新能源并网系统的稳定性分析与优化设计提供坚实的理论支撑和技术路径。; 适合人群:具备电力电子、自动控制理论基础,从事新能源发电、储能系统、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握跟网型储能变流器在dq域的阻抗建模方法;②理解多环控制与前馈补偿对系统阻抗特性的影响机制;③实现理论阻抗模型与Simulink仿真扫频结果的对比验证,支撑并网稳定性分析。; 阅读建议:学习者应结合控制理论与电力电子变换器知识,重点关注数学推导与仿真建模的一致性,建议动手复现Simulink仿真模型并进行参数敏感性分析,以深化对阻抗重塑机理的理解。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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