SQL一對多表關聯查詢,sql多對多關係的兩表如何聯合查詢出所有的結果?

時間 2021-10-14 22:25:28

1樓:匿名使用者

補充:....這個,感覺樓主的語句不用寫成這樣詭異的,你可以試試下面的語句符不符合你的要求

select * from table1 a,table 2 b where a.name=b.name;

這樣不就行了麼??

可以給多一點資訊麼??具體你想返回什麼呢??

是這樣麼?

table1符合的記錄欄位 table1所對應的很多table2

的中的一個記錄 欄位

** ++++++

** ++++++

** ++++++

** ++++++

如果是這樣的話,table2應該是儲存有關交易的資訊的吧,那麼應該有一個唯一標識的編號,型別為數值,越新的記錄,編號越大,設這個編號為id 那麼可以用以下方法,達到你想要的效果

select * from table1,table2 where table2.id in (

select max(id) from table2 group by name) and table1.name

=table2.name;

強烈建議不要使用日期欄位作唯一標識,如果沒有以上所說的id列,會麻煩許多

2樓:匿名使用者

select * from table1 a,table 2 b where a.name=b.name;

3樓:匿名使用者

select * from table1 a where exists (select name,max(datefield) from table2 where table2.name=a.name )

sql多對多關係的兩表如何聯合查詢出所有的結果?

4樓:城春許木深

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)用來指連線條件,它由被連線表中的列和比較運算子、邏輯運算子等構成。

5樓:匿名使用者

通過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,不然不行

6樓:匿名使用者

看的頭暈啊,呵呵,難的想

sql兩張表一對多如何查詢?

7樓:

select goods.trumbnail

from goods

left join picture on goods.picture = picture .id

8樓:陽光上的橋

select a.trumbnail, b.url, c.url

from goods a, picture b, picture c

where a.picture=b.id and a.picture=c.id

兩表關聯查詢SQL語句的,要怎麼寫

1 建立測試表 create table company companyid number,companyname varchar2 20 contacts varchar2 20 create table users userid number,companyid number,username ...

四張表關聯查詢SQl語句怎麼寫

要注意省表b和市表c也需要關聯他們的省字段。這個直接通過四表關聯就可以出來的。如select 你要的字段列表 from a,b c,d where a.id b.id and a.id c.id and a.id d.id 其實就是如何實現顯示乙個公司在不同地方的子公司的資訊。應該有這些表 省份表,...

sql兩表一對多查詢問題

深刻如此 這應該是乙個1對多的對映關係 1個員工可以對應多條業績記錄 那麼可以設員工表的主鍵是員工id,並且作為業績表的外來鍵。比如業績表叫做achievement table員工id對應的列為employee id 比如員工表叫做employee table 主鍵id為員工id,以及表中有列emp...