Hola, me presento: Soy Alex.
Tengo esta tabla con los siguientes valores:
<cotiz>
+---+-----+-------+-------+
|ID |Desc |ID_Cust|ID_Cont|
+---+-----+-------+-------+
| 1 | ab | 1 | 1 |
| 2 | cd | 6 | 3 |
| 3 | ef | 3 | 2 |
| 4 | gh | 7 | 1 |
| 5 | ij | 5 | 2 |
| 6 | kl | 9 | 2 |
| 7 | mn | 7 | |
| 8 | no | 2 | 2 |
| 9 | pq | 2 | |
|10 | rs | 2 | 1 |
+---+-----+-------+-------+
Y dos sub tablas, con una relacion maestro-detalle
<customers> (Master Table)
+-------+--------+
|ID_Cust|Name |
+-------+--------+
| 1 | Gor |
| 2 | Phil |
| 3 | Ed |
| 4 | Mike |
| 5 | Sal |
| 6 | Tony |
| 7 | Mo |
| 8 | Con |
| 9 | Dan |
| 10 | Pag |
+-------+--------+
<contacts> (Detail Table)
+-------+--------+-------+
|ID_Cont| Name |ID_Cust|
+-------+--------+-------+
| 1 | Alex | 1 |
| 2 | Hex | 1 |
| 1 | Neil | 2 |
| 2 | Bo | 2 |
| 1 | Bob | 3 |
| 2 | Jean | 3 |
| 1 | Zar | 4 |
| 2 | Dot | 4 |
| 1 | Meg | 5 |
| 2 | Eli | 5 |
| 1 | Don | 6 |
| 2 | Zack | 6 |
| 3 | Lou | 6 |
| 1 | Kin | 7 |
| 2 | Tre | 7 |
| 1 | Leo | 8 |
| 2 | Thu | 8 |
| 1 | Jan | 9 |
| 2 | Gil | 9 |
+-------+--------+-------+
La consulta que quiero hacer con la tabla <cotiz>, de acuerdo a los ID's de las otras tablas es la siguiente:
query_cotiz
+---+-----+--------+-------+
|ID |Desc |customer|contact|
| | |name |name |
+---+-----+--------+-------+
| 1 | ab | Gor | Alex |
| 2 | cd | Tony | Lou |
| 3 | ef | Ed | Jean |
| 4 | gh | Mo | Kin |
| 5 | ij | Sal | Eli |
| 6 | kl | Dan | Gil |
| 7 | mn | Mo | |
| 8 | no | Phil | Bo |
| 9 | pq | Phil | |
|10 | rs | Phil | Hex |
+---+-----+--------+-------+
Lo he intentado con esta sintaxis de MySQL:
SELECT cotiz.ID, cotiz.Desc, customers.name, contacts.name FROM cotiz INNER JOIN (customers INNER JOIN contacts ON contacts.ID_Cust = customers.ID_Cust) ON (cotiz.ID_Cont = contacts.ID_Cont) AND (cotiz.ID_Cust = customers.ID_Cust)
Pero el resultado que me dió fue este:
+---+-----+--------+-------+
|ID |Desc |customer|contact|
| | |name |name |
+---+-----+--------+-------+
| 1 | ab | Gor | Alex |
| 2 | cd | Tony | Lou |
| 3 | ef | Ed | Jean |
| 4 | gh | Mo | Kin |
| 5 | ij | Sal | Eli |
| 6 | kl | Dan | Gil |
| 8 | no | Phil | Bo |
|10 | rs | Phil | Hex |
+---+-----+--------+-------+
Como pueden ver, no hay registro con el ID=7 y el 9, eso es porque en la tabla <cotiz> no hay una referencia en el campo ID_Cont.
Existe alguna forma de incluir todos los registros cuando no hay datos en un campo? (valor Null o Nulo)
Gracias de antemano!!!
P.D. Disculpen mi post tan largo, pero queria ser lo mas explicito posible con las tablas.