ファイルA ファイルB
ID ID
売上日 名前
売値段 住所
電話番号
上記のようなファイルがあります。
SQL文のWHERE句でファイルA.ID=ファイルB.IDとすると
グリッドにファイルBの名前が表示されるようにしているのですが、
この場合だと例えばファイルAのIDがブランクだった場合
グリッドにはファイルAのIDがブランクのレコードが表示されません。
ファイルAのIDがブランクでもグリッドに表示させたいのですが
そうするとファイルBの名前を表示することができません。
WHERE句で
(ファイルA.ID=ファイルB.ID) OR (ファイルA.ID=’’)と
してみましたがファイルA.IDがブランクの該当レコードは1つで
また、ファイルA.IDがブランクの場合は
名前のフィールドもブランクにしたいのですが
ファイルBの名前のフィールド(グリッド上)にいろんな名前が入って
表示されてしまいます。
SQL文でこれを回避することは難しいでしょうか?
何かよい方法があれば教えてください。
よろしくお願いいたします。
え〜と,
ファイルAのデータは全て表示して,IDがあれば名前を表示するということですか?
SELECT
A.ID, B.名前, A.売上日, A.売値段 住所, A.電話番号
FROM
ファイルA A LEFT JOIN ファイルB B ON A.ID = B.ID
Ru様
教えて頂いたとおりしてみたのですが、
コンパイルは通ったのですが、
「キーワードLEFTは必要でない。有効なトークンは、FROM INTOです。」とエラーが出てしまいます。
何かおかしいのでしょうか??
saさんが作ったSQL見てないのでなんともいえませんが,
上記サンプルSQLの例で言うと
A.電話番号 と FROM
の間にカンマ(,)が入力されてたりしませんか?
Ru様
ありがとうございます。。。出来ました!
FROMの前にカンマが入っていました・・・
本当にありがとうございました!!
ツイート | ![]() |