1樓:城春許木深
1、語句如下:
select project.*, [contract].* from project
left join contract_project on project.projectid = contract_project.projectid
left join [contract] on contract_project.contractid = [contract].contractid
注:contract在sql server中是關鍵字,因此使用了中括號。
2、使用left join
left join是以左表為準的。換句話說,左表(project)的記錄將會全部表示出來,而右表(contract_project)只會顯示符合搜尋條件的記錄
(例子中為: project.projectid = contract_project.
projectid)。對於contract表來說,contract_project表是它的左表。
此例以兩個left join 將三個表按條件聯接在一起。
擴充套件資料
連線通常可以在select語句的from子句或where子句中建立,其語法格式為:
select colunm_name1,colunm_name2
from table_name1
left join table_name2
on table_name1.colunmname=table_name2.colunmname
其中join_table指出參與連線操作的表名,連線可以對同乙個表操作,也可以對多表操作,對同乙個表操作的連線稱為自連線, join_type 為連線型別,可以是left join 或者right join 或者inner join 。
on (join_condition)用來指連線條件,它由被連線表中的列和比較運算子、邏輯運算子等構成。
2樓:匿名使用者
通過contract_project做中間表就行:
select *
from contract_project aleft join project b on a.projectid = b.projectid
left join contract c on a.contractid = c.contractid
前提是contract_project要大而全,包含所有的pid和cid,不然不行
3樓:匿名使用者
看的頭暈啊,呵呵,難的想
sql資料庫一對多關係如何取出多條資料? 10
4樓:匿名使用者
直接在sql中是沒法這麼個結構出來的,需要配合程式語言實現
1、先查詢出使用者列表,然後迴圈使用者列表,再根據使用者跟作品表的關聯查詢到每個使用者的作品資訊
2、分別查詢出使用者表和作品表中的所有資料,再根據使用者和作品的關聯字段進行資料的組合
5樓:匿名使用者
select * from
(select
--t.id,
t.bigclass,
t.num,
t.**allclass,
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 對應你的 作品表
6樓:節子不哭
不是很明白你具體需要做什麼,**有一對多的關係,取出什麼樣的資料?
7樓:匿名使用者
select * from user left join works on users.id = works.userid group by users.姓名
sql 多對多關係如何建表?
8樓:古舟蓑笠翁
create table 教師
(教師工號 型別 primary key,教師姓名 型別,
教師位址 型別,
教師** 型別)
create table 課程回資訊
(課程編號 型別 primary key,課程名稱 型別,
資訊備註答 型別)
create table 任課
(教師工號 型別 references 教師(教師工號),課程編號 型別 references 課程資訊(課程編號),primary key(教師工號,課程編號))
9樓:myth月神
如果是開發人員,建議就當做普通的表來建,沒必要設定外來鍵。避免刪除,更改操作出錯。
利用**來實現幾張表的關係。
兩個表如何建立一對多的關係,ACCESS表之間一對多關係 並實施參照完整性需要怎麼操作
create table department 部門表抄 depart id int identity primary key,depart name varchar 20 gocreate table employee 員工襲表 emp id int identity primary key,em...
一對多和多對多這兩種關係怎麼理解呢?舉個例子,一輛汽車和輪子的關係是什麼關係呢
這個汽車和輪子是一對多的關係,乙個汽車可以同時擁有幾個輪子,但是乙個輪子只能屬於一輛汽車,這個輪子用在一輛汽車上的同時就不能讓其他汽車使用。多對多你可以這樣理解比如乙個老師可以有多個學生,乙個學生也可以同時擁有多個老師。不知道這樣說你可不可以理解 一對一關係,一對多關係,多對多關係,分別舉兩個例子 ...
資料庫sqlserver兩表一對一關係
sql 關鍵字 inner join 假如a 表有 2個字段 a,b,型別為intb 表有這個字段,b,c 型別int sql 如下 select from a inner join b on a.b b.b 結果回就是一對一 答的關係 兩張表都設定主鍵,然後乙個表的外來鍵是另乙個表的主鍵,就可以了...