mysql - 查询显示其中一个值为 0 的关系的结果

标签 mysql

我有 3 个表,其结构如下:

福内西多

+-------------+--------------+----------+--------+
| codmaterial | idfornecedor | idmodelo | preco  |
+-------------+--------------+----------+--------+
|     8978998 |            0 |      234 | 2.00   |
|     8978998 |          718 |        0 | 22.00  |
|     8978998 |          578 |      201 | 222.00 |
+-------------+--------------+----------+--------+

fornecedor

+--------------+---------------------------+---------+
| idfornecedor |           nome            | contact |
+--------------+---------------------------+---------+
|          578 | ACAR-IMPORT.EXPORT.LD.    | NULL    |
|          580 | ACCESS OFFICE VB          | NULL    |
|          581 | ACCIOP-CONST.OBR.PUB.,LD. | NULL    |
|          582 | ACCUSONIC TECHNOLOGIES    | NULL    |
|          583 | ACE NAVILECTRA TOME       | NULL    |
|          584 | ACE-ART.CIRURG.EUROPA,LD. | NULL    |
|          718 | ADIHOTEL-MAQ.EQUIP.HOT.LD | NULL    |
+--------------+---------------------------+---------+

模型

+----------+-----------------+
| idmodelo |      nome       |
+----------+-----------------+
|      224 | 24TDMEJ50       |
|      140 | 259118          |
|      201 | 122AVP          |
|      234 | 1YMB531002M0005 |
+----------+-----------------+

我想用 fornecedor 和 modelo 的名称而不是 ids 显示结果。

SELECT
  fornecedor.nome, modelo.nome, preco
FROM
  fornecido, fornecedor, modelo
WHERE
  fornecido.codmaterial=8978998 AND condition

我尝试过的每个条件或导致所有可能的组合或唯一同时具有 fornecedor 和 modelo 的组合:s

我假装是这样的:

null, 1YMB531002M0005, 2.00
ADIHOTEL-MAQ.EQUIP.HOT.LD, null, 22.00
ACAR-IMPORT.EXPORT.LD., 122AVP, 222.00

谢谢:)

最佳答案

SELECT
fn.nome as FNOME, m.nome as MNOME, f.preco
FROM  fornecido f left join fornecedor fn 
on f.idfornecedor = fn.idfornecedor 
left join modelo m on f.idmodelo =m.idmodelo 
WHERE f.codmaterial=8978998

在此处检查 SQlFiddle http://sqlfiddle.com/#!2/251cc/5/0

供引用:

http://placeisimportant.files.wordpress.com/2013/02/sql-joins-vis-rep-1.png http://placeisimportant.files.wordpress.com/2013/02/sql-joins-vis-rep-2.png

关于mysql - 查询显示其中一个值为 0 的关系的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334022/

相关文章:

mysql - 根据更新时的特定条件更新另一个表的最佳方法是什么?

php - 用于照片库的免费 java 或 flash 文件浏览器

mysql - 是否有用于在 mysql 中存储 rails 日志的 gem?

mysql - MYSQL 中包含行号的列

php - 我如何从 Laravel 中的子关系中获取字段?

php - 使用 SQL 查询将值数组插入数据库?

mysql - SQL查询,同时使用IN和LIKE。可能的?

php - 循环使用 PHP 和 MySQL 的动态链接

php - MySQL 查询只返回 3 个匹配行

mysql - Doctrine2/Symfony2 - 每个包使用不同的数据库