(Is there any way to write SQL statement that if this statement cannot retrieve data (because some part of its table was null) then use the other SQL statement or make it show only data that available ?)
I have SQL statement to show the production lot and each of their latest activity which show below ...
q_maxdate :
SELECT
tbl_pdtn_startup.pdtn_st_id,
tbl_production.pdtn_id,
tbl_product.pd_name
FROM
(
tbl_pdtn_startup
INNER JOIN tbl_product
ON tbl_pdtn_startup.pd_id = tbl_product.pd_id
)
INNER JOIN tbl_production
ON tbl_pdtn_startup.pdtn_st_id = tbl_production.pdtn_st_id;
which join with this SQL
SELECT
q_maxdate.pdtn_st_id,
Sum(tbl_pdtn_sizecolor.pdtn_st_qty_est) AS SumOfpdtn_st_qty_est,
q_maxdate.MaxOfpdtn_date,
q_maxdate.pd_name,
q_maxdate.pdtn_st_pdNote,
q_maxdate.pd_id,
q_maxdate.MaxOfwk_stage,
q_maxdate.LastOflb_name,
q_maxdate.pdtn_st_date,
q_maxdate.pdtn_st_qty_act
FROM
q_maxdate
INNER JOIN tbl_pdtn_sizecolor
ON q_maxdate.pdtn_st_id=tbl_pdtn_sizecolor.pdtn_st_id
GROUP BY
q_maxdate.pdtn_st_id,
q_maxdate.MaxOfpdtn_date,
q_maxdate.pd_name,
q_maxdate.pdtn_st_pdNote,
q_maxdate.pd_id,
q_maxdate.MaxOfwk_stage,
q_maxdate.LastOflb_name,
q_maxdate.pdtn_st_date,
q_maxdate.pdtn_st_qty_act
ORDER BY
q_maxdate.pdtn_st_date DESC;
The problem of this is it won't show any record that have only data in tbl_pdtn_startup but null in tbl_production. So what I want is if this case occur then execute the new SQL statement that show only data that are available.
something like ... if sql1 <> "" then execute sql1 else execute sql2 end if
thank you very much
(EDITED) According to the answer below I've picked "IF NOT EXIST" to solve this problem by using as below:
IF NOT EXISTS (SELECT q_maxdate.pdtn_st_id, Sum(tbl_pdtn_sizecolor.pdtn_st_qty_est) AS SumOfpdtn_st_qty_est, q_maxdate.MaxOfpdtn_date, q_maxdate.pd_name, q_maxdate.pdtn_st_pdNote, q_maxdate.pd_id, q_maxdate.MaxOfwk_stage, q_maxdate.LastOflb_name, q_maxdate.pdtn_st_date, q_maxdate.pdtn_st_qty_act
FROM q_maxdate INNER JOIN tbl_pdtn_sizecolor ON q_maxdate.pdtn_st_id=tbl_pdtn_sizecolor.pdtn_st_id
GROUP BY q_maxdate.pdtn_st_id, q_maxdate.MaxOfpdtn_date, q_maxdate.pd_name, q_maxdate.pdtn_st_pdNote, q_maxdate.pd_id, q_maxdate.MaxOfwk_stage, q_maxdate.LastOflb_name, q_maxdate.pdtn_st_date, q_maxdate.pdtn_st_qty_act
ORDER BY q_maxdate.pdtn_st_date DESC )
THEN SELECT tbl_pdtn_startup.pdtn_st_id, tbl_product.pd_name, tbl_pdtn_startup.pdtn_st_date
FROM (tbl_pdtn_startup INNER JOIN tbl_product ON tbl_pdtn_startup.pd_id = tbl_product.pd_id) INNER JOIN tbl_production ON tbl_pdtn_startup.pdtn_st_id = tbl_production.pdtn_st_id
GROUP BY tbl_pdtn_startup.pdtn_st_id, tbl_product.pd_name, tbl_pdtn_startup.pdtn_st_date
ORDER BY tbl_pdtn_startup.pdtn_st_date DESC
END
However, it didn't work.. My SQL skill very limited. So could you please help me solve this.. thank you very much.