MySQL连接多个不工作的表
我不知道这为什么不起作用。如果我分别联接其中一个表,它会返回相应的结果,但当我尝试联接它们时,结果为0。(car_id和boat_id都是它们表上的主键。) 也许值得注意的是当我这么做的时候MySQL连接多个不工作的表,mysql,Mysql,我不知道这为什么不起作用。如果我分别联接其中一个表,它会返回相应的结果,但当我尝试联接它们时,结果为0。(car_id和boat_id都是它们表上的主键。) 也许值得注意的是当我这么做的时候 LEFT JOIN posted_car e on c.car_id = e.car_id RIGHT JOIN posted_boat g on c.boat_id = g.boat_id 我得到的结果就好像我只加入了张贴的船表一样。如果有人能给我指出正确的方向,我将不胜感激 您正在使用JOIN,这可能
LEFT JOIN posted_car e on c.car_id = e.car_id
RIGHT JOIN posted_boat g on c.boat_id = g.boat_id
我得到的结果就好像我只加入了张贴的船表一样。如果有人能给我指出正确的方向,我将不胜感激 您正在使用JOIN,这可能是个问题。您应该使用左外联接来获得正确的结果。检查以下语法:
$query = "SELECT *
FROM
posted c
left OUTER JOIN posted_car e on c.car_id = e.car_id
left OUTER JOIN posted_boat g on c.boat_id = g.boat_id
WHERE c.posted = 'posted'
ORDER BY date DESC LIMIT 0, 30";
$resultBoth = mysql_query($query, $db) or die(mysql_error($db));
@YotamOmer是在MySQL中创建别名的缩写@现在在家里,我猜
已发布。car\u id
和已发布。boat\u id
不太可能同时为非NULL
。这是真的吗?如果这个ans对您有帮助,请不要忘记选择它作为有效的ans。它可能会帮助其他人。
$query = "SELECT *
FROM
posted c
left OUTER JOIN posted_car e on c.car_id = e.car_id
left OUTER JOIN posted_boat g on c.boat_id = g.boat_id
WHERE c.posted = 'posted'
ORDER BY date DESC LIMIT 0, 30";
$resultBoth = mysql_query($query, $db) or die(mysql_error($db));