レコードを取得するテーブルが 4 つあります。最初の 3 つのテーブルでは、共通の行との内部結合が必要でしたが、4 番目のテーブルでは、最初の 3 つのテーブルから既にフェッチされた行を保持する必要があるため、左外部結合が必要です。
ここで、問題は、4 番目のテーブルとの左結合が必要なことですが、日付 = 現在の日付を持つレコードのみを選択する必要があります。ストアド プロシージャを呼び出すときに、C# から現在の日付を渡しています。しかし問題は、SQL Server が null レコードを提供していることです。
ここにクエリがあります::
alter procedure
(@currentdate varchar(50))
select distinct
table1.name, table2.class,table3.stream
from
table1
inner join
table 2 on table1.id = table2.id
inner join
table3 on table3.id=table2.id
left outer join
table 4 on table 4.id = table3.id and table4.date = @currentdate
where句を使用すると結果全体がフィルタリングされ、1つのレコードだけが得られるようにレコードが必要なため、左外部結合を使用しました。
次に、ストアドプロシージャの両方の日付でキャストを使用しましたが、肯定的な応答はありませんでした。
私が使用しているC#から
var date = datetime.now.toshortdate();
CallStoredProcedure(date)
これについてできるだけ早く助けてください。ありがとうございました