【发布时间】:2013-04-03 16:53:19
【问题描述】:
这是我第一次使用 mysql,我需要一些帮助。我找不到任何解决方案,可能是因为它太容易了,或者我太菜鸟,无法正确查找。
我想从我的测试数据库中的多个表中进行查询。假设表格是:
类别(*id_category, *id_product)
产品(*id_product、id_category、id_supplier、id_manufacturer)
制造商(*id_manufacturer,名称)
供应商(*id_supplier,名称)
带 * 的列是整数主键,不为空,具有 auto_increment(从 1 开始)。其他 id 列只是整数外键(默认为 null)。
我需要一个查询,还包括产品表中 id_manufacturer 和/或 id_supplier 为空的行。产品表中的那些空字段返回值'0',所以当我进行类似查询时
SELECT category.id_product, manufacturer.name, supplier.name
FROM category, product, manufacturer, supplier
WHERE category.id_category = product.id_category AND manufacturer.id_manufacturer = product.id_manufacturer AND supplier.id_supplier = product.id_supplier;
没有显示具有空值 (0) 的行。 我希望您以最干净和最有效的方式指出我,而无需更改表属性。任何帮助将不胜感激。
【问题讨论】:
标签: mysql null foreign-keys multiple-tables