强调文字我有2张桌子。第一个表具有3列,即SupplierId,SupplierDetailID和EntityID,第二个表具有2列,即SupplierId和SupplierDetailID。在第一个表中,由于一个以上的实体ID,SUPPLIERID和Supplierdetailid的组合不止一个。我想在供应商ID字段上形成左联接,这样,只有当第一个表中的SupplierDetailID为空白时,才应采用最大值该特定SupplierId的第二个表中的SupplierDetailID。 形成的查询将给出first_table.supplierID,如果first_table SupplierDetailID为空,则特定供应商ID,first_table实体ID的第二个表SupplierDetailID的最大值。 enter image description here
答案 0 :(得分:1)
此SQL查询将为您工作。
SELECT s1.SupplierID,
ISNULL(s1.SupplierDetailID, MAX(s2.SupplierDetailID)) AS SupplierDetailID
FROM s1
LEFT JOIN s2
ON s1.SupplierID = s2.SupplierID
GROUP BY
s1.SupplierID,s1.SupplierDetailID;
s1是第一个供应商表。
s2是第二个供应商表。