你怎么俩table1,后一个叫table2吧
执行以下语句
selectt1.考试学号,t1.科目,t2.考试成绩
from
(selecta.科目,a.科目ID,b.考试学号
from
(select科目,科目IDfromtable1)asa,
(selectdistinct考试学号fromtable2)asb)ast1leftjoin
table2as顷核t2雀迹掘ont1.科州销目ID=t2.科目IDandt1.考试学号=t2.考试学号
结果截图
下边还有几条没显示全,凑合看吧
⑵ SQL 一对多查询求助,大神快来
select * from 表1 a left join 表2 b on a.id=b.id
其中表1 中每个id只出现一次含此,表2中每个id出现多次,谈兆迅即可实现一猜州对多查询
⑶ SQL数据库怎么创建一对多的关系(具体见补充)
表2:TagMap(SearchText, Tag) -- 1:N关系表
表1:Object(Tag, ...)
⑷ SQL一对多查询问题
select t1.学号,t1.姓名,t1.性别,t2.科目,t2.成绩 from 总表 t1,分表 t2 where t1.学号=t2.学号 order by t1.学号
另你说的跨行显示如果是值相同就合并上下两个单元格的意思的话,是可以的,要在后台写代码合并单元格。
protected void GridView2_DataBound(object sender, EventArgs e)
{
int inArA;
int inArB;
int intspan;
string temp="",temp1="";
for (inArA = 0; inArA < GridView2.Rows.Count; inArA++)
{
GridViewRow _itm = GridView2.Rows[inArA];
intspan = 1;
temp = GridView2.Rows[inArA].Cells[0].Text;
#region IP不同导致出现两条记录时,开始合并
for (inArB = inArA + 1; inArB < GridView2.Rows.Count; inArB++)
{
temp1 = GridView2.Rows[inArB].Cells[0].Text;
if (String.Compare(temp, temp1) == 0)
{
intspan++;
//GridView2.Rows[inArA].Cells[0].RowSpan = intspan;//学号合并
//GridView2.Rows[inArA].Cells[1].RowSpan = intspan;//姓名合并
//GridView2.Rows[inArA].Cells[2].RowSpan = intspan;//性别合并
GridView2.Rows[inArA].Cells[3].RowSpan = intspan;//科目不合并
GridView2.Rows[inArA].Cells[4].RowSpan = intspan;//成绩不合并
//GridView2.Rows[inArB].Cells[0].Visible = false;
//GridView2.Rows[inArB].Cells[1].Visible = false;
//GridView2.Rows[inArB].Cells[2].Visible = false;
GridView2.Rows[inArB].Cells[3].Visible = false;
GridView2.Rows[inArB].Cells[4].Visible = false;
}
else
{
break;
}
}
#endregion
inArA = inArB - 1;
}
}
希望对你有帮助
⑸ SQL的一对多,多对一,一对一,多对多什么意思
1、一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
2、多对一:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里学生和班主任的关系就是多对一。
3、一对一:比如说一个班级有很多学生,他们分别有不同的学号。一个学生对应一个学号,一个学号对应一个学生;通过学号能找到学生,通过学生也能得到学号,不会重复。这里学生和学号的关系就是一对一。
4、多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。
⑹ sql一对多的查询代码怎么查
代码如下:
SELECT a.trumbnail, b.url, c.url
FROM Goods a, Picture b, Picture c
WHERE a.picture=b.id AND a.picture=c.id
⑺ sql 一对多查询
交给我吧,典型的交叉查询,行列转换
select s.StudentName,
(case r.Subject when '语文' then r.Math end) as 语文,
(case r.Subject when '数学' then r.Math end) as 数学,
(case r.Subject when '英语' then r.Math end) as 英语,
(case r.Subject when '物理' then r.Math end) as 物理,
(case r.Subject when '地理' then r.Math end) as 地理
from Student s,Results r
where s.StudentId=r.StudentId
能用的话记得给分哦~
⑻ SQL数据库一对多关系如何取出多条数据
直接在SQL中是没法这么个结敬扮冲构出来的,需要配合编程缺圆语亮歼言实现
1、先查询出用户列表,然后循环用户列表,再根据用户跟作品表的关联查询到每个用户的作品信息
2、分别查询出用户表和作品表中的所有数据,再根据用户和作品的关联字段进行数据的组合
⑼ SQL数据库设计理论问题,属性间的联系是一对多,为什么可以推出函数依赖是Y->X而不是X->Y
你说的是实体与属性的关答巧系,一个实体X对应多个属性Y,可以推出依赖实体x有哪些察改y属性,而属性不具备粒子性和唯一性,在不同的实体中,可能存在同名的属性,所以根据属性y不能推出它对应的清没键实体x
⑽ sql 如何一对多的查询
select d.*, c.成绩, c.时间x0dx0a from 主桥拆表 d,x0dx0a (select b.*x0dx0a from (select id, max(时间) max_date from 从表 group by id) a,x0dx0a 从表则行 bx0dx0a where a.id = b.idx0dx0a and a.max_date = b.时间敏盯枣) cx0dx0a where c.id = d.id