1

説明できない理由により、以前は正常に機能していた左外部結合が、テーブルの 1 つを変更すると機能しなくなりました。

この時点までのコードは、以前の結合が多数含まれているため、かなり途切れ途切れになっていますが、行き詰まった時点では、2 つの値が一致する場所で結合しようとしているだけです。

mysql_query ("CREATE TABLE Everything(
SELECT * from two
    left outer join CPEs on CPEs.cpe_cust_index = two.cust_index2
    where cust_index2 > \"0\"
)")
or die (mysql_error());#("this certainly didn't work\n");
 echo "It works!\n";'

これは、2 つのフィールド (両方とも同じ長さの varchar) を一致させ、CPE を 2 つに追加するために使用されていましたが、現在、テーブル Everything は、CPE からのフィールドがあるべき場所に NULL を表示します。

明らかな何かが欠けていますか?

私が考えることができるのは、two.cust_index2 が一意のフィールドではなくなったということだけです (ただし、CPEs.cpe_cust_index は一意です) が、それは問題ではありません。

フィールドは単純な数字であり、明確な一致があります (観察から)

4

1 に答える 1

0

@マイケル、あなたはそれを回りくどい方法で解決しました。CSVファイルをエクスポートすると、古いテーブルの各フィールドの前に前のスペースがあることに気付きました。スクリプトを編集してスペースを並べ替えて削除しましたが、これで機能します。

末尾のスペースを見たので面倒ですが、使用しているツールを表示すると、前のスペースが差し引かれているようです。

お時間をいただきありがとうございます!

于 2013-02-15T13:12:33.790 に答える