我在下面有一个查询,它从3个表中检索数据。
DateTime createDate = DateTime.ParseExact(date, "yyyy-MM-dd'T'hh-mm-ss", CultureInfo.InvariantCulture);
在结果中有许多空列,执行大约需要315毫秒。我需要省略空列并更快地执行查询。我尝试使用COALESCE,但dint得到了预期的结果。请帮忙。
答案 0 :(得分:0)
以下查询将仅返回所有表中存在的值。如果要考虑vendor_allocation中可能没有区/供应商中存在相应行的行,请使用左连接。这些行将在连接表中返回null作为值。
if [[ $output4 -gt 0 ]] && [[ $output5 -gt 0 ]] && [[ $output6 -gt 0 ]] && [[ $output7 -gt 0 ]]
then
echo 'Success'
else
echo 'Failure'
exit 1
fi
使用LEFT JOIN
select *
from vendor_allocation as va
join district as d using ON va.district_id = d.id
join vendor as v using ON va.vendor_id = v.id;
答案 1 :(得分:0)
这将为您提供附加区域的供应商列表。如果您不想要没有分区的那些,请使用内部联接:
select v.VendorName, d.DistrictName
from vendor as v
left join vendor_allocation as va
on v.id=va.vendor_id
left join district as d
on va.district_id =d.id