Index: Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilDatabaseQueryBuilder.cs
===================================================================
diff -u -rc875fba42a23b742e55f8798f93fddf2f872e282 -r35bc4534bcde8be5385cda72e5dd7a1d854e4bfa
--- Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilDatabaseQueryBuilder.cs (.../SoilDatabaseQueryBuilder.cs) (revision c875fba42a23b742e55f8798f93fddf2f872e282)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/SoilProfile/SoilDatabaseQueryBuilder.cs (.../SoilDatabaseQueryBuilder.cs) (revision 35bc4534bcde8be5385cda72e5dd7a1d854e4bfa)
@@ -330,5 +330,50 @@
$"LEFT JOIN ({getLayerPropertiesOfLayer2DQuery}) USING(SL2D_ID) " +
"GROUP BY sp2d.SP2D_ID, sl2d.SL2D_ID;";
}
+
+ ///
+ /// Returns the SQL query to execute to fetch the preconsolidated stresses belonging to a
+ /// 2D soil profile from the D-Soil Model database.
+ ///
+ /// The SQL query to execute.
+ public static string GetSoilProfile2DPreconsolidationStressesQuery()
+ {
+ const string getNrOfPreconsolidationStresses =
+ "SELECT SP2D_ID, COUNT(*) AS PreconsolidationStressesCount " +
+ "FROM PreconsolidationStresses " +
+ "GROUP BY SP2D_ID";
+
+ return
+ "SELECT " +
+ "sp2d.SP2D_Name AS ProfileName, " +
+ $"preconsolidationStressesCount.{PreconsolidationStressTableDefinitions.PreconsolidationstressesCount}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressXCoordinate}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressZCoordinate}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressValue}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressDistribution}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressMean}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressCoefficientOfVariation}, " +
+ $"{PreconsolidationStressTableDefinitions.PreconsolidationStressShift}, " +
+ $"sp2d.SP2D_ID AS {SoilProfileTableDefinitions.SoilProfileId} " +
+ "FROM Mechanism AS m " +
+ $"JOIN {SegmentTableDefinitions.TableName} AS segment USING({MechanismTableDefinitions.MechanismId}) " +
+ "JOIN (SELECT SSM_ID, SP2D_ID FROM StochasticSoilProfile GROUP BY SSM_ID, SP2D_ID) ssp USING(SSM_ID) " +
+ "JOIN SoilProfile2D sp2d USING(SP2D_ID) " +
+ $"JOIN({getNrOfPreconsolidationStresses}) {PreconsolidationStressTableDefinitions.PreconsolidationstressesCount} USING(SP2D_ID) " +
+ "JOIN" +
+ "(" +
+ "SELECT " +
+ "SP2D_ID, " +
+ $"X as {PreconsolidationStressTableDefinitions.PreconsolidationStressXCoordinate}, " +
+ $"Z as {PreconsolidationStressTableDefinitions.PreconsolidationStressZCoordinate}, " +
+ $"Stress as {PreconsolidationStressTableDefinitions.PreconsolidationStressValue}, " +
+ $"s.ST_Dist_Type AS {PreconsolidationStressTableDefinitions.PreconsolidationStressDistribution}, " +
+ $"s.ST_Shift AS {PreconsolidationStressTableDefinitions.PreconsolidationStressShift}, " +
+ $"s.ST_Mean AS {PreconsolidationStressTableDefinitions.PreconsolidationStressMean}, " +
+ $"s.ST_Variation AS {PreconsolidationStressTableDefinitions.PreconsolidationStressCoefficientOfVariation} " +
+ $"FROM {PreconsolidationStressTableDefinitions.TableName} AS ps " +
+ "LEFT JOIN Stochast AS s USING(ST_ID) " +
+ $") {PreconsolidationStressTableDefinitions.TableName} USING(SP2D_ID);";
+ }
}
}
\ No newline at end of file