mysql - 从表 1 中选择所有行并标记表 2 中存在的行

标签 mysql

我有一个供应商表(ID、名称、地址)

我有另一个表将供应商与客户联系起来(accredited_suppliers->supplier_id、customer_id)

我想选择所有具有标识符的供应商,该标识符显示与客户 (customer_id) 是否存在关系

即结果如下:

供应商:

id, name, address, customer_link
1, name1, address1, null
2, name2, address2, Yes
3, name3, address3, null
4, name4, address4, Yes

更多信息:

供应商表: ID 姓名 ... ...

客户表: ID 姓名 ... ...

认可供应商表: ID 客户ID 供应商编号

例如我想要所有供应商,并有一列标记与客户 id=100 关联的所有供应商

最佳答案

SELECT t1.*, IF(count(`t2`.`customer_id`) > 0, 'yes', NULL) as customer_link
FROM `suppliers` AS `t1`
LEFT JOIN `accredited_suppliers` AS `t2` ON `t2`.`supplier_id` = `t1`.`id`

关于mysql - 从表 1 中选择所有行并标记表 2 中存在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566422/

相关文章:

mysql - 让SQL自动建表

mysql - 如果我只有选择权限,如何获取数据库转储

php - 错误: Value UPDATE of type java. lang.String无法转换为JSONObject如何解决

mysql - PHP/MySQL 统计项目订单

mysql - 从子表中选择计数

php - SQL时间戳+1小时?

php - 选择 Mysql 事务中的原始值

php - 安装 magento - 数据库服务器不支持 InnoDB 存储引擎

mysql - 在扩展安装期间向表添加行 TYPO3

mysql - 错误分区 MySql 5.5