急求一个sql语句

zyh791211 2009-03-13 12:01:24
两个表有相同字段bigclassname,在页面中显示该字段的值。
如果表一和表二该字段有相同的值,那么该值在显示的时候是红色,
如果两个表中该字段没有相同的值,用其他颜色显示。
急求sql判断语句。谢谢
...全文
163 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuifengde 2009-03-13
  • 打赏
  • 举报
回复
select case when (a.bigclassname +b.bigclassname) is null then '其它' else '红色' end,
* from a full join b
on a.bigclassname=b.bigclassname
playwarcraft 2009-03-13
  • 打赏
  • 举报
回复
如果前台是c#,对datagrid跑个循环
dg1.Items[i].Cells[0].ForeColor=System.Drawing.Color.Red;
dawugui 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 zyh791211 的帖子:]
两个表有相同字段bigclassname,在页面中显示该字段的值。
如果表一和表二该字段有相同的值,那么该值在显示的时候是红色,
如果两个表中该字段没有相同的值,用其他颜色显示。
急求sql判断语句。谢谢
[/Quote]

select m.bigclassname , n.bigclassname , '红色' from tb m , tb n where m.id = n.id and m.bigclassname = n.bigclassname
union all
select m.bigclassname , n.bigclassname = null, '其他颜色' from tb m left join tb n on m.id = n.id and m.bigclassname <>
n.bigclassname
union all
select m.bigclassname = null, n.bigclassname , '其他颜色' from tb m right join tb n on m.id = n.id and m.bigclassname <>
n.bigclassname

貌似这个内容不是SQL的问题,是你开发语言的问题.
百年树人 2009-03-13
  • 打赏
  • 举报
回复
if exists(select 1 from ta,tb where ta.bigclassname=tb.bigclassname)
set @color='红色'
else
set @color='其他颜色'
playwarcraft 2009-03-13
  • 打赏
  • 举报
回复
显示颜色应该是前台的事吧。。。跟sql没啥联系
you_tube 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chuifengde 的回复:]
SQL codeselectcasewhen(a.bigclassname+b.bigclassname)isnullthen'其它'else'红色'end,*fromafulljoinbona.bigclassname=b.bigclassname
[/Quote]这个写得真牛叉
withcsharp 2009-03-13
  • 打赏
  • 举报
回复
Full Outer Join
Full Outer Join 逻辑运算符从第一个(顶端)输入中与第二个(底端)输入相联接的行中返回每个满足联接谓词的行。它还可以从下面的输入返回行:

在第二个输入中没有匹配项的第一个输入。


在第一个输入中没有匹配项的第二个输入。
不包含匹配值的输入将作为空值返回。

yeaisheng 2009-03-13
  • 打赏
  • 举报
回复
同意 chuifengde
zyh791211 2009-03-13
  • 打赏
  • 举报
回复
你们没懂我的意思,我做的东西是用asp写的。
原意是一个表中存有领导的姓名,另一个表中存有该领导的记录。如果另一个表中有该领导的记录,那么领导姓名用红色显示,如果没有那么用其他颜色显示。
zzxap 2009-03-13
  • 打赏
  • 举报
回复
if exists(select 1 from ta,tb where ta.bigclassname=tb.bigclassname)
set @color='红色'
else
set @color='其他颜色'

肥龙上天 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 zyh791211 的帖子:]
两个表有相同字段bigclassname,在页面中显示该字段的值。
如果表一和表二该字段有相同的值,那么该值在显示的时候是红色,
如果两个表中该字段没有相同的值,用其他颜色显示。
急求sql判断语句。谢谢
[/Quote]

把表结构贴出来就好多来,你这好像不是简单的数据库就能实现的的吧

参考一下

select *
,颜色 = (case when exists (select 1 from tb2 where bigclassname = a.bigclassname) then '其他颜色' else '红色' end)
from tb1

Teng_s2000 2009-03-13
  • 打赏
  • 举报
回复
两个表存在相同的字段信息,数据库架构的不合理吧

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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