mysql 多表聯合做運算(求倆點的距離)

2022-03-26 18:06:32 字數 1417 閱讀 7356

1. 現有倆張表

表一 pl 為管道表 p1.p2 的xy座標在座標表裡 p1,p2為開始點和結束點

表二為座標表 pp

需求:根據開始點結束點座標。算出所有管道距離

給出sql

select

a.name name,sum(a.s1) length

from

( select

r1.id,

r1. name,

(r1.x - r2.x) dif_x,

(r1.y - r2.y) dif_y,

((r1.x - r2.x) *(r1.x - r2.x)) + ((r1.y - r2.y) *(r1.y - r2.y)) s,

power(

((r1.x - r2.x) *(r1.x - r2.x)) + ((r1.y - r2.y) *(r1.y - r2.y)),

1 / 2

) s1

from

(select

(@rownum := @rownum + 1) as rownum,

tab.id,

tab. name,

tab.x,

tab.y

from

(select

pl.id,

pl. name,

pp.x,

pp.y

from

plleft join pp on pl.p1 = pp.id

or pl.p2 = pp.id

) tab,

(select @rownum := 0) r

) r1

left join (

select

(@rownum := @rownum + 1) as rownum,

tab.id,

tab. name,

tab.x,

tab.y

from

(select

pl.id,

pl. name,

pp.x,

pp.y

from

plleft join pp on pl.p1 = pp.id

or pl.p2 = pp.id

) tab,

(select @rownum := 0) r

) r2 on r1.id = r2.id

and r1.rownum = r2.rownum - 1

) a group by a.`name`

mysql表的運算 mysql 多表聯合做運算

1.現有倆張表 表一 pl 為管道表 p1.p2 的xy座標在座標表裡 p1,p2為開始點和結束點 表二為座標表 pp 需求 根據開始點結束點座標。算出所有管道距離 給出sql select a.name name,sum a.s1 length from select r1.id,r1.name,...

mysql多表聯合查詢

我在工作中天天研究zen cart的程式,那個叫人痛苦,最近比較痛苦的是經常碰見mysql多表聯合查詢,多的時候有12個表聯合查詢,zen cart的程式設計師不知道是懶還是技術好,乙個語句完成啦20幾個功能模組需要的資料,我修改就痛苦的很 我只會select from table where id...

mysql多表聯合查詢

mysql多表聯合查詢操作,3個表以上操作的sql語句 from語句是表選擇語句,需要選擇多個表的時候,用逗號 來分割所選的表。還可以用join語句來定義結合條件。表的別名 選擇的表可以取別名,在下面的例子中,from所選擇的表名後用空格來分割別名 例子1 將表foo取別名 t1,將表bar 取別名...