导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

简单问题:年龄不同

hongyuan20022003 2008-01-14 11:47:31
表格如下:
id 夫 妻
01 张 李
02 王 梁
.. .. ..

表格如下:
name 年龄
张 22
李 22
王 33
梁 23
.. ..


求年龄不相同的夫妻编号02
...全文
50 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
loworth 2008-01-14
SELECT [a].[id]
FROM [表1] [a]
JOIN [表2] [b] ON [a].[夫]=[b].[name]
JOIN [表2] [c] ON [a].[妻]=[c].[name]
WHERE [b].[年龄]<>[c].[年龄]
回复
junshanhudazhaxi 2008-01-14
pigengler 是对的。
回复
junshanhudazhaxi 2008-01-14
哦,对不起是我错了!
我再看下
回复
junshanhudazhaxi 2008-01-14
pigengler 这个是行不通的
fufu表
--------------------------------
id fu qi
1 张 李
2 王 梁
3 赵 钱
4 孙 李

age表
---------------------------------
张 22
李 22
王 33
梁 23
赵 25
钱 25
孙 36
李 38
------------------
把每个表都加上击行就错了!
回复
utpcb 2008-01-14
不好意思写错一点点
不是= 是<>
select *from 夫妻表 t1
where
(select 年龄 from 夫妻表,年龄表 where name=夫 id=t1.id )<>(select 年龄 from 夫妻表,年龄表 where name=妻 id=t1.id )
回复
utpcb 2008-01-14
select *from 夫妻表 t1
where
(select 年龄 from 夫妻表,年龄表 where name=夫 id=t1.id )=(select 年龄 from 夫妻表,年龄表 where name=妻 id=t1.id )
回复
pigengler 2008-01-14
如果只要id号的话,select a.id 就可以了
回复
pigengler 2008-01-14
create table fufu(
id int,
fu varchar(40) null,
qi varchar(40)
)

create table age(
name varchar(40),
age int
)

insert into fufu values(01 ,'张', '李');
insert into fufu values(02 ,'王', '梁');



insert into age values('张', 22);
insert into age values('李', 22);
insert into age values('王', 33);
insert into age values('梁', 23);


select a.* from fufu a,age b,age c
where a.fu=b.name and a.qi=c.name and b.age<>c.age
回复
utpcb 2008-01-14
名字有重复的吗?
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告