3表连接查询的SQL语句

苦逼的程序员 2011-05-25 01:13:59
我刚学数据库,大家不要笑=。=

有3个表
第一个
ID 物品名称
1 电脑
2 打印机
。。。。
。。。
第二个
ID 物品ID 属性1 属性2 属性3 属性4 属性5
1 1 内存 硬盘 光驱 NULL NULL
2 2 颜色 品牌 NULL NULL NULL
。。。
。。。
第三个
ID 编号 物品ID 属性1 属性2 属性3 属性4 属性5
1 PC_01 1 1G 160G DVD刻录 NULL NULL
2 PC_02 1 2G 250G 无光驱 NULL NULL
3 PC_03 1 2G 160G 无光驱 NULL NULL
4 PC_04 1 1G 250G DVD刻录 NULL NULL
5 DYJ_01 2 黑白 联想 NULL NULL NULL
6 DYJ_02 2 彩色 联想 NULL NULL NULL
7 DYJ_03 2 黑白 联想 NULL NULL NULL
8 DYJ_04 2 彩色 250G NULL NULL NULL

第一个表示物品名
第二表示特定物品所拥有的属性(我预留了大概10列)
第三个表示精确到具体实例的物品所以属性的值
PS.我才学数据库,弄得不太好,望大家见谅

我现在想根据物品名称或者物品名称ID 就可以查询出第三个表里的所以物品的具体实例的数据,
并且把列名改为表2中的属性名如 我WHERE 物品名称 = '电脑' 的时候就查出

ID 编号 内存 硬盘 光驱
1 PC_01 1G 160G DVD刻录
2 PC_02 2G 250G 无光驱
3 PC_03 2G 160G 无光驱
4 PC_04 1G 250G DVD刻录
请问这样可以吗?
我问了老师他说要用临时表
大家可以教我一下吗?





...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2011-05-25
  • 打赏
  • 举报
回复
select *
from A,B,C
where A.id = B.id and B.id = C.id
--小F-- 2011-05-25
  • 打赏
  • 举报
回复
发现第2个表没做什么作用?
jxqn_liu 2011-05-25
  • 打赏
  • 举报
回复

select B.ID, B.编号, B.内存, B.硬盘, B.光驱 from 第一个表 A left join 第三个表 b on A.ID=B.物品ID
where A.物品名称='电脑'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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