❶ 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
❷ SQL的一對多,多對一,一對一,多對多什麼意思
1、一對多:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。這里班主任和學生的關系就是一對多。
2、多對一:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。這里學生和班主任的關系就是多對一。
3、一對一:比如說一個班級有很多學生,他們分別有不同的學號。一個學生對應一個學號,一個學號對應一個學生;通過學號能找到學生,通過學生也能得到學號,不會重復。這里學生和學號的關系就是一對一。
4、多對多:比如說一個班級有很多學生,他們有語文課、數學課、英語課等很多課。一門課有很多人上,一個人上很多門課。這里學生和課程的關系就是多對多。
❸ 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一對多查詢
select客戶表.客戶編號,nvl(stat.c,0)
from客戶表
leftjoin(select客戶編號,sum(商品價格)cfrom交易表groupby客戶編號)statonstat.客戶編號=客戶表.客戶編號
❺ sql 一對多的查詢
你怎麼倆table1,後一個叫table2吧
執行以下語句
selectt1.考試學號,t1.科目,t2.考試成績
from
(selecta.科目,a.科目ID,b.考試學號
from
(select科目,科目IDfromtable1)asa,
(selectdistinct考試學號fromtable2)asb)ast1leftjoin
table2ast2ont1.科目ID=t2.科目IDandt1.考試學號=t2.考試學號
結果截圖
下邊還有幾條沒顯示全,湊合看吧
❻ 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 一對多查詢求助,大神快來
select * from 表1 a left join 表2 b on a.id=b.id
其中表1 中每個id只出現一次含此,表2中每個id出現多次,談兆迅即可實現一猜州對多查詢
❽ 如何將SQL一對多的結果,查詢出單行多列 表中a b兩個欄位,a的值在b中可能有1個或多個對應的值
select t1.a ,
(select top 1 t2.b from table2 as t2 where t2.b = t1.a and 額外條件1) as 對應於額外條件的列名1,
(select top 1 t2.b from table2 as t2 where t2.b = t1.a and 額外條件2) as 對應於額外條件的列名2,
(select top 1 t2.b from table2 as t2 where t2.b = t1.a and 額外條件3) as 對應於額外條件的列名3,
from
table1 as t1
where <t1.xxx = 'xxx'> --刪選table1的條件
--
--有問題hi我
❾ sql 資料庫 一對多查詢
你怎麼倆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.考試學號
結果截圖
下邊還有幾條沒顯示全,湊合看吧