On 2012-12-11 3:19 PM, Larry Martell wrote:
I have this query:

SELECT data_target.name, ep, wafer_id, lot_id,
        date_time, data_file_id, data_cstimage.name,
        bottom, wf_file_path_id, data_measparams.name,
        vacc, data_category.name
FROM data_cst, data_target, data_cstimage, data_measparams,
      data_category, data_tool
WHERE data_cst.target_name_id IN (38018, 29947, 28330)
AND data_cst.date_time BETWEEN '2012-09-01 00:00:00' AND '2012-09-07 00:00:00'
AND data_target.id = data_cst.target_name_id
AND data_cstimage.id = data_cst.image_measurer_id
AND data_measparams.id = data_cst.meas_params_name_id
AND data_category.id = data_tool.category_id
AND data_tool.id = data_cst.tool_id
ORDER BY target_name_id, ep, wafer_id, lot_id, date_time

My problem is that when data_cst.image_measurer_id is NULL I don't get
that data_cst row even though all the other part of the where clause
are TRUE. I understand why that is, but in that case I want the row,
but with NULL in the data_cstimage.name column.
Explicit join syntax makes such queries easier to read, write, develop & debug. Is this what you mean?

SELECT data_target.name, ep, wafer_id, lot_id,

       date_time, data_file_id, data_cstimage.name,

       bottom, wf_file_path_id, data_measparams.name,

       vacc, data_category.name

FROM data_cst

*RIGHT JOIN data_cstimage*    ON data_cstimage.id = data_cst.image_measurer_id

INNER JOIN data_target     ON data_target.id = data_cst.target_name_id

INNER JOIN data_measparams ON data_measparams.id = data_cst.meas_params_name_id

INNER JOIN data_category   ON data_category.id = data_tool.category_id

INNER JOIN data_tool       ON data_tool.id = data_cst.tool_id

WHERE data_cst.target_name_id IN (38018, 29947, 28330)

   AND data_cst.date_time BETWEEN '2012-09-01 00:00:00' AND '2012-09-07 
00:00:00'

ORDER BY target_name_id, ep, wafer_id, lot_id, date_time;


PB
http://www.artfulsoftware.com


I think I need a left
outer join, but I've been messing with this for hours, and I can't get
the syntax right. I've googled it, but all the examples are simple
with just 2 tables. Can someone help me with this?

TIA!
-larry


Reply via email to