Вы пытались использовать правильное внешнее соединение? Используйте правую внешнюю функцию соединения и объединения, чтобы 0 отображалось вместо нуля. Я разместил пример запроса ниже
WITH MemberNums AS
(
SELECT School_No, Category, COUNT(Member_No) AS NumberOfMembs
FROM Member_School
WHERE Finish_Date > GETDATE()
AND Category IS NOT NULL
GROUP BY School_No, Category
)
SELECT School.School_No, Category.Category, COALESCE(MemberNums.NumberOfMembs, 0) AS NumberOfMembs, School.School_Name, School.ATH_No, School.AWA_No, School.CLE_No, School.CYC_No, School.CYF_No, School.OBS_No, School.PEN_No, School.RHI_No,
School.STA_No, School.SYL_No
FROM School
INNER JOIN MemberNums
ON School.School_No = MemberNums.School_No
RIGHT OUTER JOIN Category
ON Category.Category_No = MemberNums.Category
ORDER BY School_No
Если вы хотите, чтобы все результаты из школы и member_school, которые могут не иметь категории, то вы могли бы вместо этого рассмотреть FULL OUTER JOIN [ 114]
Да, можно использовать следующее, чтобы иметь ASP.NET, игнорируют предупреждения сертификата:
using System;
using System.Net;
using System.Security.Cryptography.X509Certificates;
namespace YourNamespace
public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
{
public TrustAllCertificatePolicy() {}
public bool CheckValidationResult(ServicePoint sp, X509Certificate cert,WebRequest req, int problem)
{
return true;
}
}
}
System.Net.ServicePointManager.ServerCertificateValidationCallback = _
Function(a, b, c, d) True
Необходимо обработать событие, которое проверяет сертификат и просто устанавливает его, чтобы всегда возвратить true. См. следующее сообщение для деталей:
http://8r13n.wordpress.com/2007/07/24/bypassing-certificate-validation-in-net/
Для тех, кто не может определить, с чего начать с этого ответа, это может быть неочевидным. На плакатах выше все правильно, но заранее не было ясно, что делать с данным кодом.
Допустим, у вас есть где-то класс, который должен вызывать веб-службу с сертификатом.
Вот мой готовое решение:
public class MyClass
{
public bool TrustAllCertificatesCallback(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors errors)
{
return true;
}
public string CallSomeWebService(string someParam)
{
try
{
ServicePointManager.ServerCertificateValidationCallback = TrustAllCertificatesCallback;
RemoteWebService ws = new RemoteWebService();
//add the client cert to the web service call.
ws.ClientCertificates.Add(GetMyCert());
//call the web service
string response = ws.SomeMethod(someParam);
return response.ToString();
}
catch (Exception ex)
{throw;}
}
public X509Certificate GetMyCert()
{
try
{
string certPath = @"C:\MyCerts\MyCert.cer";
var cert = X509Certificate.CreateFromCertFile(certPath);
return cert;
}
catch (Exception ex)
{throw;}
}
}