Also, ich habe zwei Tabellen wie die folgenden: „Probe“Ersetzen Sie einige Zeilen nach einer Bedingung
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
diese Tabelle gemessen Informationen über bestehende Proben enthält. Die sample_id ist für jede gemessene Probe einzigartig, die measure_id ist für jede "Messkampagne" die gleiche Tiefe und das gleiche Datum.
Die andere Tabelle: „Sample_details“, enthält Informationen über „die Dinge, die für jede Tiefe gemessen wurden“:
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
Das, was ich zu tun versuchen, all Probenahme bewegen Details die Tiefe 0 in die Abtastungsdetails, die der Tiefe 1 entsprechen (wir nehmen an, dass immer eine Probe der Tiefe 0 und eine andere der Tiefe 1 vorhanden ist).
Ich habe versucht, so zu argumentieren:
get sample_id von Probentisch, wo Tiefe = 1 und damit die sample_id in sample_details Tabelle ersetzen, wo immer sample_id gleich ist mit der Tiefe von Beispieltabelle sample_id 0. (I muß dies für jeden measure_id tun, denn jede Maßnahme id 0 Tiefe und 1 Tiefenwert hat, ...)
MY SQL Versuch:
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)
Die sample_details Tabelle sollte wie folgt aussehen:
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
Warum ein Alias plagen zu schreiben, das ist Wie der Name der Tabelle? Und Sie sollten ANSI-92-Joins verwenden. Sie gibt es seit 25 Jahren. http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx In Bezug auf die vorliegende Frage ... ist es nicht alles klar, was das Problem ist. Hier ist ein großartiger Ort, um mit der Verbesserung Ihrer Frage zu beginnen. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
Wirklich? ist es nicht klar, was das Problem ist? : D wow – user2019747
Nein .. überhaupt nicht klar ... könnten Sie bitte eine 'nach' Version Ihrer Beispieldetailliertabelle posten, damit wir sehen, was das Ergebnis sein sollte?Einschließlich einer Zeile für ALL-Samples im Vorher-Nachher, damit wir sehen können, wie die verschiedenen Permutationen gehandhabt werden sollen. – JeffUK