mysql排除两个表中id相同的结果

mysql exclude results with same id in two tables

我有一个可以获取一些结果的工作查询。

    $sql = "
        SELECT 
            swdl.wedding_dress AS wedding_dress,
            wd.name AS name,
            wdi.url AS image
        FROM salons_wedding_dresses_link AS swdl 
            LEFT JOIN wedding_dresses AS wd ON swdl.wedding_dress = wd.id
            LEFT JOIN wedding_dress_images AS wdi ON wdi.wedding_dress = wd.id AND wdi.main_image = 1    
            WHERE swdl.salon = ? AND wd.active = 1
    ";

我想要的是将其更新为仅获取 table salons_wedding_dresses_linkwedding_dress 不在 table wedding_dress_dress_collection_linkwedding_dress_dress_collection_link 中的结果 wedding_dress_id 但我没有这样做。 下面是更新后的查询,更新以粗体显示。

            $sql = "
        SELECT 
            swdl.wedding_dress AS wedding_dress,
            wd.name AS name,
            wdi.url AS image
        FROM salons_wedding_dresses_link AS swdl 


LEFT JOIN wedding_dress_dress_collection_link AS wddcl
------------------------------------------------------

            LEFT JOIN wedding_dresses AS wd ON swdl.wedding_dress = wd.id
            LEFT JOIN wedding_dress_images AS wdi ON wdi.wedding_dress = wd.id AND wdi.main_image = 1    
            WHERE 

swdl.wedding_dress NOT IN (SELECT wddcl.wedding_dress_id FROM wddcl) AND
------------------------------------------------------------------------



swdl.salon = ? AND wd.active = 1
        ";

select 查询以获取 salons_wedding_dresses_link 中存在但 wedding_dress_dress_collection_link 中不存在的结果:

 select s1.*,s2.wedding_dress_collection_id,s2.wedding_dress_id  
 from salons_wedding_dresses_link s1
 left join wedding_dress_dress_collection_link s2 on
 s1.wedding_dress=s2.wedding_dress_id 
 whrere s2.wedding_dress_id  is null;