SELECT
tMI.MI
FROM
tMI
LEFT JOIN
tCard ON tCard.CardNumber = tMI.MI
INNER JOIN
TMIN on TMIN.T_ID = tMI.MI
WHERE
tCard.CardNumber IS NULL
AND tMI.MI IS NOT NULL
私は上記のコードを実行していますが、内部結合なしで正常に動作します。しかし、内部結合を追加すると、変換できないと言われます。varchar値 '' .... "'をデータ型intに変換するときに変換に失敗しました
データは、テーブルのこことその下にある同じ数から多分数え切れないほどのものです。
このエラーを回避するにはどうすればよいですか?あなたが同じデータ型であるあなたの ON状態に言及したすべての列をチェック
SELECT
cast(tMI.MI as varchar) as MI
FROM
tMI
LEFT JOIN
tCard ON tCard.CardNumber = tMI.MI
INNER JOIN
TMIN on TMIN.T_ID = tMI.MI
WHERE
tCard.CardNumber IS NULL
AND tMI.MI IS NOT NULL
テーブル構造、サンプルデータ、および予想される結果を投稿する必要があります。つまり、 't_id'と' mi'は異なるデータ型です(単純に 'int'と' varchar'を結合することはできません)... – sgeddes
TMIN.T_IDとtMI.MIの列のデータ型をチェックします。おそらくそれらのうちの1つはvarchar(tMI.MI)であり、その他はint(TMIN.T_ID)です。私は、比較するためにそれらの1つをキャストまたは変換することをお勧めします。 – Nagahornbill