私はテストを受けた人々のグループを持っています。次のクエリで ID を選択できます。
SELECT person_id
FROM tests
WHERE test_code = 1234
これらの個人のレコードを人口統計テーブルから取得したいので、次のサブクエリを試しました。
SELECT *
FROM demographics d
WHERE d.person_id IN (
SELECT t.person_id
FROM tests t
WHERE t.test_code = 1234
)
...しかし、私は何の結果も得ていません。(関数) サブクエリからいくつかの ID を取得し、それらを IN 基準にハードコードすると、次のようになります。
SELECT *
FROM demographics d
WHERE d.person_id IN (01123, 58132)
...クエリは機能します。ここで本当に基本的なことが抜けているに違いありません - それが何であるか知っていますか?
考えられる複雑な要因: t.person_id は char13、d.person_id は varchar50 です。これは MS SQL Server 9.0.4035 です。私は SQL Server Management Studio で作業しています。