1樓:匿名使用者
沒太聽明白呀,是不是這樣
select sum(case when b.name in ('a_1','a_2') then 1 else 0) as a,
sum(case when b.name in ('b_1','b_2') then 1 else 0) as b,
sum(case when b.name in ('c_1','c_2') then 1 else 0) as c
from a,b where a.關聯欄位=b.關聯欄位
2樓:射手幽靈伊
先建立一個欄位,把 a_1,a_2更新為一個值,把b_1,b_2更新為一個值,
然後使用這個欄位做分組,就可以了吧。
如果是a_1,a_2,b_1,b_2這樣的,也可以 select left(name,2) 作為一個虛擬欄位,然後用這個虛擬欄位作分組。
3樓:匿名使用者
select
substr(name, 1, instr (name, '_') -1 ),
sum () / count() ...... 相關函式from
b join a on ( 關聯條件 )group by
substr(name, 1, instr (name, '_') -1 )
在oracle資料庫中如何把兩張表關聯起來,多對一或者一對一一對多。請寫明語句 謝謝!!!
4樓:
有兩種辦抄法:
第一種方法是通過襲外來鍵:
假設有兩張表,
a表(aid,aname) b(bid,bname)表 ,要想把這兩者關聯起來的話。可以通過外來鍵來關聯,在b表或者a表中新增一個外來鍵。這裡就以b表把b(bid,aid(外來鍵),bname),這樣通過外來鍵兩張表就可以聯絡起來了,例如我們在查詢的時候通過aid就可以關聯查詢兩張表的資料了。
第二種方法就是增加一張表:
還是拿a表(aid,aname) b(bid,bname)表來舉例把,
我們可以增加個c表來聯絡ab表之間的關係
c表中只要放ab表的主鍵就行了
c(aid,bid),這樣我們就可以通過c表來關聯ab表了。呵呵
5樓:匿名使用者
必須要有關聯欄位,如t1表的id欄位與t2表的id欄位為關聯欄位則:
select * from t1,t2 where t1.id=t2.id
只要各張表有關聯欄位,寫法直接在上面的基礎上累加!
6樓:匿名使用者
你的a,b,c是你所指的三個別名吧?是因為你把子查詢作為i表,而其中的a 把語句貼下,我幫你看下。
SQL兩張表合併 兩張表的列都相同
四舍 入 1 第一種,用一張臨時表,把所有資料都放在一張表裡insert into qunlist select from qunlist89,90,91,92 再在qunlist中查詢 2 第二種,用 union all方式查詢select from qunlist89union all sele...
SQL兩張表合併,任意兩張表,無關聯,只要求合併即可,謝謝
在t表中插入t1表在查詢分析器上寫個簡單的sql語句大概這樣 insert into t values select from t1 把t1表中的逐條資訊插入到表t中,用 create table c as select from a union all select from b 但是這個應該是沒...
關於linq查詢兩張表,返回合併後的兩張表語句咋寫
來,試試下面 列名稱不固定,通用方法 using system using system.collections.generic using system.data using system.linq using system.text namespace test dt1.rows.add new...