資料庫查詢一對多關係,只列出一條資料

2021-10-05 03:07:35 字數 4536 閱讀 6064

1樓:匿名使用者

select aaa.*,bbb.name as bbb_name from table3 ccc

left join table1 aaa on aaa.id=ccc.table1_id

left join table2 bbb on bbb.id=ccc.table2_id

where 1=1

應該根據table3 進行聯合查詢

你上面的是left table1 當然是顯示table1裡的資料了

2樓:匿名使用者

select aaa.*, wmsys.wm_concat (bbb.name) as bbb_name from table1 aaa

left join table3 ccc on aaa.id=ccc.table1_id

left join table2 bbb on ccc.table2_id=bbb.id

where 1=1

group by aaa.id,aaa.name

sql資料庫一對多關係如何取出多條資料? 10

3樓:匿名使用者

直接在sql中是沒法這麼個結構出來的,需要配合程式語言實現

1、先查詢出使用者列表,然後迴圈使用者列表,再根據使用者跟作品表的關聯查詢到每個使用者的作品資訊

2、分別查詢出使用者表和作品表中的所有資料,再根據使用者和作品的關聯欄位進行資料的組合

4樓:匿名使用者

select * from

(select

--t.id,

t.bigclass,

t.num,

t.smallclass,

t.[content],

t.isquantization,

--t.deptid,

--t.targetvalue,

--t.minvalue,

--t.strivevalue,

--t.score,

--t.belongtoperiod,

--t.quantizationtype,--t.indicatorsepdept,--t.f_createdate,

--t.[status]

dzir.*

,row=row_number() over(partition by t.id order by dzir.createtime desc)

from

dk_zb_deptindicator as tright join

dk_zb_indicatorreport as dzir on dzir.indicatorsid = t.id)   as t where  t.row = 1

dk_zb_deptindicator 對應你的  user 表

dk_zb_indicatorreport 對應你的 作品表

5樓:節子不哭

不是很明白你具體需要做什麼,**有一對多的關係,取出什麼樣的資料?

6樓:匿名使用者

select * from user left join works on users.id = works.userid group by users.姓名

sql的一對多,多對一,一對一,多對多什麼意思?

7樓:思念是一種醉過

1、一對多:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。

這裡班主任和學生的關係就是一對多。

2、多對一:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。

這裡學生和班主任的關係就是多對一。

3、一對一:比如說一個班級有很多學生,他們分別有不同的學號。一個學生對應一個學號,一個學號對應一個學生;通過學號能找到學生,通過學生也能得到學號,不會重複。

這裡學生和學號的關係就是一對一。

4、多對多:比如說一個班級有很多學生,他們有語文課、數學課、英語課等很多課。一門課有很多人上,一個人上很多門課。這裡學生和課程的關係就是多對多。

1、一對一的使用方法

(1)使用巢狀結果對映來處理重複的聯合結果的子集 。

(2)通過執行另外一個sql對映語句來返回預期的複雜型別。

2、一對多的實現方法

在多的一方的表裡面,新增外來鍵。

3、多對多的實現方法

多對多,必須要通過單獨的一張表來表示。

8樓:匿名使用者

舉個例子:

你有3個表

學生表(學生id 學生姓名)

課程表(課程id 課程名)

成績表 (學生id 課程id 分數)

班級表(班級id 學生id)

這裡的班級表跟學生表就是一對多 一個班級包含了很多學生 反過來就是多對一

這裡的課程表就是多對多 一門課對應多個學生選擇 一個學生也可以有多個課程可以選

至於一對一的話 教授與學生的關係 一般一個教授就對應一個學生

9樓:匿名使用者

一對一:我有一個身份證號 ;

一對多:我有多張銀行卡;

多對多:我是招行、交行、建行的客戶,但是這些銀行使用者均過億。

10樓:匿名使用者

就是在資料庫裡,表與表之間的資料交換與提取,例如有兩表:表一(b中有欄位mc,sl),表二(c中有欄位mc,sl)

在查詢分析器中輸入

select b.mc,a.sl from b.a,c.b where a.mc=b.mc

就能看到表b,c中欄位mc相同的資料資訊了。

sql語句從主表刪除一條資料,並且把先關聯的多個子表資料也刪除

11樓:匿名使用者

如果建立了主外來鍵約束,那麼這個約束是可以關聯刪除的(建立的時候要加一個引數,這是oracle的寫法,如果你不是oracle我不清楚其他資料庫能不能這樣做)。

建立觸發器,這個所有資料庫都可以。你這裡就是after delete觸發,也是刪除語句,這個是可以的。

12樓:m我們的人的人

delete from table where date in('c','e','f')

結構化查詢語言(structured query language)簡稱sql,結構化查詢語言是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;

用外來鍵關聯刪除,把b表的uid設成外來鍵關聯a表的id,並關聯刪除操作。

用儲存過程,用事務來處理實現。

建立資料庫:create database database-name刪除資料庫

drop database dbname

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

刪除新表:drop table tabname

增加一個列:alter table tabname add column col type

新增主鍵:alter table tabname add primary key(col)

刪除主鍵:alter table tabname drop primary key(col)

建立索引:create [unique] index idxname on tabname(col….)

刪除索引:drop index idxname

建立檢視:create view viewname as select statement

刪除檢視:drop view viewname

13樓:你猜我猜哇擦猜

建議你寫個儲存過程,我寫的一個,讓你參考一下!cardno是自定義的資料型別!用觸發器容易出錯

create procedure delfixuser@cardno cardno

asdeclare @carno carnoselect @carno=車輛號碼 from fixcardindextable

where 卡號=@cardno

delete from allcardindextablewhere 卡號=@cardno

delete from fixcardindextablewhere 卡號=@cardno

delete from fixcardenddatetablewhere 卡號=@cardno

delete from cardpasswordtablewhere 卡號=@cardno

delete from usercarinfotablewhere 車輛牌號=@carno

說明:刪除一個固定使用者記錄,同時從allcardindextable、fixcardindextable、fixcardenddatetable、cardpasswordtable和usercarinfotable表中刪除相應的記錄。

資料庫中一對一一對多多對多關係是什麼意思

舉個例子 你有3個表 學生表 學生id 學生姓名 課程表 課程id 課程名 成績表 學生id 課程id 分數 班級表 班級id 學生id sql的一對多,多對一,一對一,多對多什麼意思?1 一對多 比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是...

資料庫中兩表為一對多關係要刪除主鍵表中的資訊怎麼刪除

1對多來看的話,看成樹狀結構。真要刪除的話,從下往上刪除。刪除到最上面為止。整個刪除過程作為一個事物來寫。先刪外來鍵所關聯的那個表中的資料,再刪主表的資料 先刪除外來鍵表,再刪除主鍵表。資料庫表的多對多關係 怎麼消除?糾正一抄下,多對多本身就是一種資料庫類 bai型,談不du上消除的。如 一個老師可...

資料庫如何建一對一表,資料庫如何建立表間一對多關係

一對一有時候需要建表,因為 繼承 多型 的原因。比如 使用者表 和 vip使用者表 的關係。或者 普通使用者 和 企業使用者 的關係 正常情況下是需要一個是否vip標記位就可以了。但是當下面情況發生的時候,需要建單獨的表 1,當vip的屬性欄位比普通使用者多很多,並且衍生的邏輯關係比普通使用者複雜很...