これは、このPHP mysqlLEFTJOIN出力からの続きです。
2番目のデータベース(Cu.data)に変更を加えました。データベーステーブルは次のようになります。
mysql> desc ins.data;
+-------------------+------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------------------+----------------+
| ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
| Date | timestamp | NO | | 0000-00-00 00:00:00 | |
| Number | text | NO | | NULL | |
| Text | text | NO | | NULL | |
| Email | text | NO | | NULL | |
| TargetID | varchar(20) | NO | | NULL | |
| CSW | text | NO | | NULL | |
| TSW | text | NO | | NULL | |
| Key | text | NO | | NULL | |
| CType | text | NO | | NULL | |
+-------------------+------------------+------+-----+---------------------+----------------+
10 rows in set (0.00 sec)
mysql> desc Cu.data;
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| Title | decimal(15,0) | NO | | NULL | |
| Cu | varchar(45) | NO | | NULL | |
| Co | varchar(25) | NO | | NULL | |
| Ci | varchar(25) | NO | | NULL | |
| SID | int(12) | NO | | NULL | |
| TargetID | varchar(20) | NO | MUL | NULL | |
| SType | varchar(12) | NO | | NULL | |
+----------+---------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
私のクエリは次のようになります。
mysql> SELECT ins.data.Date, ins.data.Number,
ins.data.Email, ins.data.TargetD, ins.data.CSW,
ins.data.TSW, ins.data.CType, Cu.data.Cu,
Cu.data.SID, Cu.data.Co,
Cu.data.Ci, Cu.data.SType
FROM ins.data
LEFT JOIN
Cu.data ON (ins.data.TargetID = Cu.data.TargetID);
そして、出力にはins.data(最初のデータベース)からの必要なすべての値が表示されますが、Cu.dataからのすべての値は「NULL」です
TargetIDは、データベース間の「リンク」です。すなわち。TargetIDを使用すると、データベース間でデータをマッピングできます。
ins.dataのデータは、人々がそれにデータを挿入するときにゆっくりと増加しています。Cu.dataは静的であり、おそらく年に1回更新されます。
PHPが機能することはなかったので、bashプログラミングスキルを活用することにしました。cronスクリプトを介して、データベースからフェッチされたデータを含む電子メールを送信します。スクリプトは完全に機能しますが、一部のデータが欠落しています。
そして今、質問です。いったいなぜ私のSQL句はins.dataからのみデータを出力するのですか!?