0

結合列の 1 つが varchar 型で、もう 1 つが GUID 型である 2 つのテーブルを結合するときに、Access で問題が発生します。

生成された SQL ステートメントは次のようになります。

INSERT INTO adnVFD
SELECT dbo_adnVFD.*
FROM PRC INNER JOIN dbo_adnVFD ON PRC.PrcId = dbo_adnVFD.VarType;

PRC.PrcId関数を使用して列を変換しようとしたStringFromGUIDので、両方の列が同じ型になるようにしました。しかし、成功せずに。

この問題を解決する方法についてのアイデアはありますか?

4

2 に答える 2

1

たとえば、次のような派生テーブルを使用するのはどうでしょう。

SELECT  b.* 
FROM Table2 b
INNER JOIN (SELECT StringFromGUID([ID]) As Expr1 FROM Table1) a
ON b.Expr1=a.Expr1
于 2012-06-29T13:03:33.167 に答える
0

もし私が

ID, set as an autonumber, field size replication ID(1) (a) (別名 Guid) と (b)の 2 つのフィールドを持つ新しいテーブルを作成します。ID2, text(255)

(2) 行を追加し、自動採番を作成させ、それを ID から ID2 にコピー アンド ペーストします。

(3)SELECT Table1.ID, Table1.ID2 FROM Table1 where ID = ID2

私は自分の列に戻ります。貼り付けられた文字列には中かっこが含まれていることに注意してください。比較によってそれらが何らかの形でドロップされていないことを確認したい場合があります。

次に、2 つのテキスト フィールド (両方とも text(255)) を持つ 2 番目のテーブルを作成し、次のように結合しました。

SELECT Table1.ID, Table1.ID2, Table2.Field1
FROM Table1 INNER JOIN Table2 ON Table1.ID = Table2.ID;

これはうまく機能し、私を私の列に戻しました。私のお金はあなたのケースでブレースが欠けていることにかかっています。使う必要は全くありませんでしたStringFromGUID()

于 2012-06-29T13:03:23.553 に答える