sql 1个表 2个不同字段 连接一个相同的表,查询要怎么写?表A
年级 数学老师ID 语文老师ID
1年级 06 05
2年级 07 05表B
老师ID 老师姓名
06 张三
05 李四查询的结果要求为
年级 数学老师 语文老师
1年级 张三 李四
...查询语句怎么写?按下面这样的写法,根本执行不出来数据
select a.年级,b.老师姓名,b.老师姓名
from A a,B b
where a.数学老师ID = b.老师ID and a.语文老师ID = b.老师ID
年级 数学老师ID 语文老师ID
1年级 06 05
2年级 07 05表B
老师ID 老师姓名
06 张三
05 李四查询的结果要求为
年级 数学老师 语文老师
1年级 张三 李四
...查询语句怎么写?按下面这样的写法,根本执行不出来数据
select a.年级,b.老师姓名,b.老师姓名
from A a,B b
where a.数学老师ID = b.老师ID and a.语文老师ID = b.老师ID
解决方案 »
- 新手学习SQL请给予指导谢谢
- 两个表进行union之后,如何获取其他字段的值?
- 20 分!!!!求一让人百思不得其解的SQL查询语句的编写。
- sql server 2005 连接数据库
- sql server表中数据更新后,如何查看表的更新时间?
- 正则表达式
- 如何有T-Sql语句将sqlserver的表导出到VFP中去?揭帖率100%
- [在线]关于从SQL中访问DB2数据库的问题?急,---zjcxc(邹建)请进!
- 怎样把WORD文件或者是TEXT文本文件导入到数据库中?
- 怎么样在DOS下用命令连接MS SQL 2000的数据库?
- 如何编写一个“获取SQL SERVER服务器IP”的函数
- 如何查询
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2013-05-26 22:49:43
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86)
-- Jun 17 2011 00:57:23
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go
create table [A]([年级] varchar(5),[数学老师ID] varchar(2),[语文老师ID] varchar(2))
insert [A]
select '1年级','06','05' union all
select '2年级','07','05'
--------------开始查询--------------------------
--> 测试数据:[B]
if object_id('[B]') is not null drop table [B]
go
create table [B]([老师ID] varchar(2),[老师姓名] varchar(4))
insert [B]
select '06','张三' union all
select '05','李四'
--------------开始查询--------------------------
select [A].[年级],b.[老师姓名] 数学老师,c.[老师姓名] 语文老师 from [A] left JOIN [B] ON a.[数学老师ID]=b.[老师ID]
left JOIN [B] c ON a.[语文老师ID]=c.[老师ID]
----------------结果----------------------------
/*
年级 数学老师 语文老师
----- ---- ----
1年级 张三 李四
2年级 NULL 李四
*/