SELECT User_Info_m.UserName,
If(User_Info_m.HasPhoto<>0,User_Photo.Photo,If(User_Info_m.Sex='男','Photo_Boy.Gif','Photo_Girl.Gif'))
FROM User_Info_m LEFT JOIN User_Photo ON User_Info_m.UserName = User_Photo.UserName
If(User_Info_m.HasPhoto<>0,User_Photo.Photo,If(User_Info_m.Sex='男','Photo_Boy.Gif','Photo_Girl.Gif'))
FROM User_Info_m LEFT JOIN User_Photo ON User_Info_m.UserName = User_Photo.UserName
解决方案 »
- mysql存储过程总是报1329错误 No data - zero rows fetched, selected, or processed
- 急求:CAST(0x0000A09C012CA92A AS DateTime) 转换为MYSQL用的INT或者varchar
- 求助: postgresql数据库表中记录的部分导出与恢复
- Mysql存储过程递归插入临时表的问题
- 如何修改设置才能导出理想的日期格式??
- 关于将前台信息录入数据库的问题 请高手指导 谢谢
- powerdesigner是否支持mysql5.0!
- 请问mysql下的*.err文件如何清空或删除,会不会造成影响?
- MySql如何将两个查询结果放入一个结果集
- 这行sql报错,这是为什么呢? SELECT '{Class}';
- 请问怎么修改mysql的字段名称和类型?
- 在mysql中,如何得到table的第一條記錄??
通过提交FAQ,以及自己是别FAQ的主要解答人FAQ被审核 2002-12-16 22:57:06
FAQ提交内容被审核通过,主要解答人增加信誉分5分,可用分10分
select b.bphoto
from zz1 a,z22 b
where a.aname=b.bname and a.aphoto='1'
and b.bpost_date = (select max(bpost_date) from z22 where bname=a.aname)
union
select aphoto
from zz1
where aphoto<>'1';
建议在 User_Photo 中只保存用户最新的一份图片难道你的 User_Info_m.UserName 中有重复数据吗?
呵呵,如是那你要用 DISTINCT 了SELECT DISTINCT User_Info_m.UserName,
If( User_Info_m.HasPhoto<>0,
User_Photo.Photo,
If( User_Info_m.Sex='男',
'Photo_Boy.Gif',
'Photo_Girl.Gif'
)
)
FROM User_Info_m LEFT JOIN User_Photo
ON User_Info_m.UserName = User_Photo.UserName
GROUP BY User_Info_m.UserName如果在 User_Photo 表中同一个用户有多条信息,
呵呵,
那麻烦了,
你必须先处理 User_Photo ,将其中最新的数据放入一个临时表中,
再用上面的SQL来处理数据
呵呵~~
欢迎 dejoy(燕青) 呀 ,
好长时间没见大侠你了
:》