我正在尝试创建一个SELECT
将输出逗号分隔值文件的语句。我尝试使用INNER JOIN
组合来自不同表的行,但我的问题是,并非表 2 中的所有行都包含我需要的字段。这就是我收到 MySQL 警告的原因。
是否可以创建一个仅在满足条件时才SELECT
包含的语句。INNER JOIN
这可能吗?
代码:
mysql_connect($server, $login, $password);
mysql_select_db($db);
$fp = fopen($filename, "w");
$query = "SELECT t1.title, t1.introtext, t2.jr_street, t2.jr_city, t2.jr_state, t2.jr_postalcode, t2.jr_country, t3.created, t3.name, t3.title, t3.comments, t4.ratings_sum, t4.ratings_qty FROM $table1 t1
INNER JOIN $table2 t2 ON t1.id = t2.contentid
INNER JOIN $table3 t3 ON t1.id = t3.pid
INNER JOIN $table4 t4 ON t1.id = t4.reviewid
";
$res = mysql_query($query) or die(mysql_error());
$first_line = true;
while ($row = mysql_fetch_assoc($res)) {
if ($first_line) {
fputcsv($fp, array_keys($row));
$first_line = false;
}
fputcsv($fp, $row);
}