php - 加入两个mysql表

标签 php mysql join

我有两个数据库——一个用于文章,另一个用于文章的元信息(如作者、日期、类别和 atc)。我在元表中有以下列:ID、文章 ID、元类型和元值。我想知道如何通过一个 mysql 查询连接这两个表以获取文章和元信息。文章 ID 在元表中不是唯一的,这就是为什么我无法弄清楚如何访问特定的元类型并根据文章的值...

这是我尝试使用的 mysql:

SELECT products.*, product_meta.meta_value
FROM products
LEFT JOIN product_meta ON products.ID = product_meta.product_id

但是这个查询好像不是我需要的。例如,我在文章表中有两条记录,在元表中有十条记录,此代码显示十个结果而不是两个:

$products = mysql_query("SELECT products.*, product_meta.meta_value
                         FROM products
                         LEFT JOIN product_meta ON products.ID = product_meta.product_id") or die(mysql_error());

while ($product = mysql_fetch_assoc($products)) {
    echo $product["title"];
}

有人可以帮忙吗?

最佳答案

试试下面的sql语句:

SELECT products.*, product_meta.meta_value
FROM products LEFT OUTER JOIN product_meta 
ON products.ID = product_meta.product_id
WHERE product_meta.product_id NOT IS NULL

关于php - 加入两个mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3824824/

相关文章:

php - .htaccess 301 将正则表达式从 DotNetNuke 重定向到 Wordpress

php - 什么会影响我的代码以获得巨大的字体大小变化?

php - 正确使用 echo json_encode(array ('error' => false/true.

java - 为什么每次重新部署都需要刷新连接池?

mysql - 当我可以从中提取的表之一可能为空时,如何让我的 mysql 语句返回某些内容

sql - rails : How to Select Records Which Don't Have a Specific Related (associated) Object (SQL EXISTS brief how-to)

php - ajax 脚本在 IE 中不起作用

Fluent NHibernate 的 MySQL 配置

mysql - SQL JOINING,哪个是最好的连接

mysql - 使用 MySQL 中的 Join 获取正确的时差