ユーザー入力が必要なクエリで結合しようとしているテーブルが2つあります。私は、ユーザー入力に基づいて変数に1つのテーブルから列名を格納したい、すべての可能な列は、ビットデータ型がtrueまたはfalseになります。変数に格納されている列の値がtrueのTB_Samplesテーブルから行を返し、TB_Projectsテーブルのプロジェクト概要情報と結合したいとします。ここに私のコードは、これまでのところです:変数に列名を格納し、列がTrueの行を返します。
DECLARE @Analysis nvarchar(20)
DECLARE @SQLQuery nvarchar(1000)
SET @Analysis = 'Elemental Analysis'
SET @SQLQuery = N'SELECT TB_Projects.JobLog#, TB_Projects .ProjName, SUM(TB_Samples.Sample#)
FROM TB_Projects INNER JOIN TB_Samples ON TB_Projects.JobLog# = TB_Samples.JobLog#
WHERE TB_Samples.[Elemental Analysis] = True GROUP BY TB_Projects.JobLog#, TB_Projects .ProjName'
EXECUTE(@SQLQuery)
私はハード今のテストのための私のコードで設定列変数が、私は最終的にこの変数の値は可視StudioでのC#を通じてのSQLServerに渡すことにしたいしています。私は状態を受け取り、現在のエラー:
メッセージ207、レベル16、状態1、行3 無効な列名 '真'「
ない私が間違っているつもりだ場所がわから
。
これはビット列であると仮定して、 'TB_Samples。[Elemental Analysis] = 1'を試してください。 –