因此,一些行,我有兩個表如下所示: 「樣品」更換下列條件
sample_id|measure_id|depth|date
11 | 1 | 0 |2013
17 | 1 | 1 |2013
18 | 1 | 3.5 |2013
21 | 2 | 0 |2015
22 | 2 | 1 |2015
此表包含測量現有樣本信息。 sample_id對於每個測量樣本都是唯一的,measure_id對於每個「測量活動」深度和日期都是相同的。
其他表:「Sample_details」,包含「測定每個深度的事情」的信息:
parameter_id|sample_id|value
4512 | 11 |2,45
4513 | 11 |1,58
4512 | 17 |2.11
4533 | 17 |5.36
4512 | 18 |3,45
4518 | 18 |7,52
4512 | 21 |9,21
4513 | 21 |5,12
4515 | 21 |5,12
4512 | 22 |5,12
4513 | 22 |5,12
我試圖做的就是移動的全部採樣細節將深度0插入到與深度1對應的採樣細節中(我們假設總是存在深度爲0的樣本和深度爲1的另一個樣本)。
我試圖說服這樣的:
GET sample_id從試樣臺,其中深度= 1,並用它取代sample_id在sample_details表無論sample_id等於從樣品臺到sample_id隨深度0(I需要爲每個measure_id做到這一點,因爲每一項措施ID具有0深度和1個深度值,...)
MY SQL試用:
UPDATE SDetails
SET SDetails.sample_id = Sample.sample_id
FROM Sample_details SDetails
JOIN Sample Sample
ON Sample.sample_id IN (select distinct Sample.sample_id from Sample, table2 where Sample.depth = 1 AND Sample.id2 = table2.id2)
AND SDetails.sample_id IN (select Sample.sample_id from Sample, table2 where sample.depth =0 AND Sample.id2 = table2.id2)
的sample_details表應該是這樣的:
parameter_id|sample_id|value
4512 | 17 |2,45
4513 | 17 |1,58
4512 | 17 |2.11
4533 | 17 |5.36
4512 | 18 |3,45
4518 | 18 |7,52
4512 | 22 |9,21
4513 | 22 |5,12
4515 | 22 |5,12
4512 | 22 |5,12
4513 | 22 |5,12
何必寫入的別名是與表格的名稱相同?你應該開始使用ANSI-92風格的連接。他們已經有25年了。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx至於手頭的問題......它不在都清楚問題是什麼。這裏是開始改善你的問題的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
真的嗎?這個問題是不是很清楚? :D哇 – user2019747
不..一點也不清楚...你可以請你發佈一個'以後'版本的樣本細節表,以便我們看到結果應該是什麼?在所有樣本的前後都包含一行,以便我們看到您希望如何處理不同的排列。 – JeffUK