MySQL:如果第二个表中没有匹配的行,如何从第一个表中选择一行

时间:2018-04-30 05:58:21

标签: mysql select join compare

表1(数字主键):

  • id-1,number-123,name-asd
  • id-2,number-124,name-asd

表2(数字可以重复,id pk):

  • id-1,number-123,name-asd
  • id-2,number-123,name-das
  • id-3,number-124,name-rrr
  • id-4,number-124,name-asx

通缉输出:

class SearchCell: UITableViewCell {
   @IBOutlet weak var name: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }


    func setsearchData(search:SearchModel) {
        self.name.text = search.restaurantname
     }
}

我必须将第一个表行与第二个表中的行进行比较。

如果第1行不等于124, asd 中第2行的每一行,那么我们应该执行a.number = b.number

如果我们找到匹配的行(表1和表2之间),那么我们不应该执行上面找到的选择查询。

更新: 我如何比较那样的3个表呢?

1 个答案:

答案 0 :(得分:0)

一个简单的选择左边连接两个表,并过滤第二个表没有数据的行应该给出你想要的结果。

SELECT *
FROM table1 a
LEFT JOIN table2 b
    ON a.number = b.number AND a.name = b.name
WHERE b.id IS NULL