これはプログラマーが頻繁に遭遇するものですが、私は決してこのようなことを試みませんでした。1つのクエリで2つのテーブルの2つのオブジェクトを(SELECT)するにはどうすればよいですか?
つまり、私は説明します。そう、テーブルZooから値を取得する必要があります:
@"SELECT z.predator, z.prey FROM Zoo AS z WHERE [email protected]"
これで、すべての値をリストに取得できます。私はそのクエリの詳細をグリッドに表示する必要があります。 z.predator値とz.prey値(これはそれぞれのidsのためのものです)を持っているので、エンドユーザーに表示するために意味のある値を設定する必要があります。だから今私はこのような何かをするかもしれません:
これは、プログラムを遅くすることができます。一度にすべての詳細をクエリできますか?このようなもの:
SELECT (SELECT * FROM ANIMAL WHERE id=z.predator),
(SELECT * FROM ANIMAL WHERE id=z.prey)
FROM Zoo AS z WHERE [email protected]
私は新しい大きなオブジェクトに値を読み取ることができますか?あるいはこれは悪い習慣と考えられていますか?
更新日:これを行うのが標準的な方法ですか?または、私が最初に述べたように個別に人口を埋めることをお勧めしますか?
更新2:私は必要なときに正確に質問を投稿しないという重大な間違いをしたようです。私は、アクセスクエリのかっこ組み立てで、私の要求を満たすためにここから回答を微調整できると思った。ここで
は私の実際のクエリは次のようになり方法です:
SELECT z.predator, p.lifeSpan, z.prey
FROM Zoo AS z
INNER JOIN Plants AS p ON p.parent_id=z.id
WHERE [email protected]
は、実際に私はINNERは別のテーブルにすでにクエリをJOINを持っていました。今度は、INNER JOINとWHERE条件を満たすz.predator(およびAnimalsテーブルの対応する値)、p.lifeSpan、z.prey(およびAnimalテーブルの対応する値)の値を取得する必要があります。
擬似コードは次のようになります。
SELECT (SELECT * FROM ANIMAL WHERE id=z.predator), p.lifeSpan, (SELECT * FROM ANIMAL WHERE id=z.prey)
FROM Zoo AS z INNER JOIN Plants AS p ON p.parent_id=z.id
WHERE [email protected]
今まで私のここでの回答からの要求、ない成功を拡張するのは簡単でなければなりません。私は試しました:
SELECT a1.*, p.lifeSpan, a2.*
FROM Zoo AS z
INNER JOIN Plants AS p ON p.parent_id=z.id
INNER JOIN Animal AS a1 ON (a1.id=z.predator)
INNER JOIN Animal AS a2 ON (a2.id=z.prey)
WHERE [email protected]
ブラケットの有無にかかわらず、このバリエーションは多くあります。上記のクエリはどのようにして適切に構成できますか?
正直言って、あなたのプロフィールを見てから助けてくださいました。あなたはアクセススペシャリストのようです:D – nawfal
二重引用符とセミコロンのことですが、それは明らかに誤植です。そうですね、私はクエリデザイナーを使用します。それはあなたが話しているクエリウィザードですか? – nawfal
omGそれはちょうどうまくいきました:D一つの質問で、このような複数のオブジェクトを1つのクエリで照会するのが標準的な方法ですか? – nawfal