當前位置:首頁 » 編程語言 » sql三張表查詢合並
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql三張表查詢合並

發布時間: 2023-05-10 02:41:31

1. sql 三條查詢結果 拼接成一個表怎麼做呢求大神幫忙啊

你的第一條語句和第三條語句就是一樣的,只要把 iperiod=12的判斷條件挪到case when 中就行。
第二條語句中有分組匯總,這個有兩種方法
(1)直接查詢,查詢完了最後再關聯
(2)利用開窗函數sum()over()(看起來簡單一些,不過可能速度上不會那麼快,而且這個需要測試)
我嘗試寫一個
select '建凱物業'as 帳套, '2015'as 年度,code.cclass as 科目分類, gl_accsum.ccode as 科目編碼 ,code.ccode_name as 科目名稱,

case when cendd_c='借' and iperiod=1 then mb else 0.0000 end 1借方,
case when cendd_c='貸' and iperiod=1 then mb else 0.0000 end 1貸方,
case when cendd_c='借' and iperiod=12 then me else 0.0000 end 12借方,
case when cendd_c='貸' and iperiod=12 then me else 0.0000 end 12貸方,
sum(md) over(partition by gl_accsum.ccode) as 總借,
sum(mc) over(partition by gl_accsum.ccode) as 總貸
from gl_accsum,code
where gl_accsum.ccode=code.ccode and code.igrade=1
order by gl_accsum.ccode

2. 求三表聯合查詢的SQL查詢語句

車訊語句:select username,psw from (a1 left join a2 on a1.a1_id=a2.a1_id) left join a3 on a1.a1_id=a3.a1_id

這樣寫:

SELECT

S.SName AS 姓名, CS.CourseName AS 課程, C.Score AS 成績

FROM Students AS S

INNER JOIN Score AS C ON (S.SCode = C.StudentID)

INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID

(2)sql三張表查詢合並擴展閱讀:

SQL聯合查詢的分類

一、內連接查詢:只查詢左邊表有且右邊表也有的數據,本質上是依據外鍵關系,在笛卡爾積查詢的基礎上過濾出正確的數據。

語句有2種形式:

Select * from dept ,emp where dept.id=emp.dept_id

Select * from dept inner join emp on dept.id =emp.dept_id

二、外連接查詢:外連接是用於查詢倆邊一邊有一邊沒有的數據。

三、左外連接查詢:在內連接的基礎上增加上左邊表有而右邊表沒有的數據

語句:Select * from dept join emp on dept.id=emp.dept_id

四、右外連接:在內連接的基礎上增加上右邊表沒有的記錄

語句:Select * from dept right join emp on dept.id =emp.dept_id

3. SQL 三表合並 問題

1、將B表整合構成單記錄數據

select 名稱,sum(09銷售數量) as 09銷售數量 from B表 group by 名稱

2、將C表整合構成單記錄數據

select 名稱,sum(10銷售數量) as 10銷售數量 from C表 group by 名稱

3、合並

select A表.名稱,
case when B表.09銷售數量 then B表.09銷售數量 else 0 end as 09銷售數量 ,
case when C表.09銷售數量 then C表.09銷售數量 else 0 end as 10銷售數量
from (A表 left join
(select 名稱,sum(09銷售數量) as 09銷售數量 from B表 group by 名稱鎮知) B表 on A表.名稱 =B表.名稱)
left join
(select 名稱模賀,sum(10銷售數量) as 10銷售數量 from C表 group by 名稱) C表 on A表.名稱 =C表.名稱

這樣就得到了

名稱, 09銷售數量 , 10銷售數量 的數據集;

如果再計算金額等就可以直接計算了。

4、添加金額,

select A表.名稱, 單價,
( case when B表.09銷售數量 then B表.09銷售數量 else 0 end) * 單價 as 09銷售金額 ,
(case when C表.09銷售數量 then C表.09銷售數量 else 0 end) * 單價 as 10銷售旦旅派金額
from (A表 left join
(select 名稱,sum(09銷售數量) as 09銷售數量 from B表 group by 名稱) B表 on A表.名稱 =B表.名稱)
left join
(select 名稱,sum(10銷售數量) as 10銷售數量 from C表 group by 名稱) C表 on A表.名稱 =C表.名稱

4. 請教sql200資料庫 3個表合並成為一個表語句

用下面這個語句就行了,Table1-3的表名改成你自己的
SELECT
[Table3].[mname],
[temp1].[no],
[temp2].[rmb]
FROM
[Table3]
INNER
JOIN
(SELECT
[id],
SUM([no])
AS
[NO]
FROM
[Table1]
GROUP
BY
[id])
AS
[Temp1]
ON
[Table3].[id]
=
[Temp1].[id]
INNER
JOIN
(SELECT
[id],
SUM([rmb])
AS
[rmb]
FROM
[Table2]
GROUP
BY
[id])
AS
[Temp2]
ON
[Table3].[id]
=
[Temp2].[id]
ORDER
BY
[Table3].[mname]

5. sql server 語句如何將3個表合並成一個表

先說一下我的思路:

  • 首選你把表1,表2,表3中的數據都合並在一起表中,使用union all合並在一起。先不要管姓名是否會重復。

  • 但是在執行合並的時候,需要對每一個待合並的數據,打上一個標簽,代表這個是哪個表中來的數據,這個標簽最後用於區分同一個人的不同的成績是分別是多少,不能因為合並在一起後,就把同一個人的三項成績給搞混了。

  • 合並後的數據進行行轉列的操作。

具體的SQL語句如下圖所示:


6. sql 合並三個表

那隻能將欄位功能一樣的合並哦! 其它的放空,如下sql腳本

select[列1],[列2],[列3],[列4],[列5],[列6]from[表1]
unionall
select[列1],[列2],[列3],null,null,nullfrom[表2]
unionall
select[列1],[列2],null,null,null,[列6]from[表3]

請採納!

7. 如何用sql語句將三張表合並為一張表

select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
into
x
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id
這樣三張表的數據就都放在表x里了
注意是在表x不存在的情況下
存在的話這樣
insert
into
x
select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id

8. SQL資料庫的表。怎麼同時連接3個表查詢。

可以參考下面的方法:

1、select * from 表1,表2,表3 where 表1.欄位=表2.欄位 and 表1.欄位=表3.欄位

2、select * from 表1 join 表2 on 表1.欄位=表2.欄位 and join 表3 on 表1.欄位=表3.欄位

如果沒有AND,前面就需要加括弧了。

(8)sql三張表查詢合並擴展閱讀:

參考語句

創建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根據已有的表創建新表:

1、create table tab_new like tab_old (使用舊表創建新表)

2、create table tab_new as select col1,col2… from tab_old definition only

刪除新表

drop table tabname