日期:2014-05-19  浏览次数:20547 次

++++++++++++++++++++超郁闷sql语句+++++++++++++++++++
表1
---------------------------
roleid     |       rolename
--------|------------------
3               |       普通会员
4               |       vip会员
5               |       金卡会员
---------------------------
表2
---------------------------
id           |           price
-------|------------------
1             |             100
2             |             90
3             |             80
---------------------------
如何能得到此结果?
普通会员       100
vip会员           90
金卡会员         80

------解决方案--------------------
两个表有何关系?
------解决方案--------------------
修改表结构
表1
---------------------------
roleid | rolename priceID
--------|------------------
3 | 普通会员 1
4 | vip会员 2
5 | 金卡会员 3
---------------------------

要不然两个表没任何关系 是查不了的
------解决方案--------------------
没有任何关系的话.最好是建立关系.因为你现在数据量小...等数据量一增加.....这种SQL语句就很难写了..或者就写不出来的......
------解决方案--------------------
select a.rolename,b.price
from 表1 a inner join 表2 b on a.字段=b.字段



*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
表结构有问题, 没有任何关系
------解决方案--------------------
数据结构很怪异,不合逻辑.

declare @T1 TABLE
(
T1ID int IDENTITY(1,1),
A varchar(20),
B varchar (20)
)

declare @T2 TABLE
(
T2ID int IDENTITY(1,1),
C varchar(20),
D varchar (20)
)

insert into @T1 select * from 表1
insert into @T2 select * from 表2
select * from @T1 t1
inner join @T2 t2 on t1.T1ID = t2.T2ID

------解决方案--------------------
只要结果:
select '普通会员 ',100
union
select 'vip会员 ',90
union
select '金卡会员 ',80
就可以
------解决方案--------------------
晕,没关系。。。
------解决方案--------------------
哈哈,lz是设计问题,看得我超郁闷,lz是不是来娱乐csdn了。。。
------解决方案--------------------
额。。。先学习下数据库基础设计吧。。。