2

次の構造を持つ 3 つのテーブルがあります。

フォルネシド

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

前者

+--------------+---------------------------+---------+
| 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 |
+----------+-----------------+

ID の代わりに fornecedor と modelo の名前で結果を表示したい。

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

ありがとう :)

4

2 に答える 2

2
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

于 2013-08-20T11:55:43.373 に答える