mysql - 如何构建预期给定结果的查询

标签 mysql sql select

我有三张 table ,

Fiddle Demo

问题是,它为另一个没有可用记录的所有其他行提供了 null

如果可以合并数据,例如,

id  qtype cyu
1   1     simple
2   2     op

最佳答案

您可以使用coalesce获取非空列值:

SELECT    qm.*, COALESCE(qs.cyu, qo.cyu)
FROM      qmaster qm
LEFT JOIN qsimple qs ON qm.id = qs.qm_id
LEFT JOIN qop qo ON qm.id = qo.qm_id

<强> SQLFiddle

关于mysql - 如何构建预期给定结果的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35962649/

相关文章:

mysql - 使 MySQL IN 子句区分大小写

sql - 在 WHERE 子句中使用带有 LIKE 的参数化 SQL(Pervasive SQL)

php - 选择周围的行 php/mysql

mysql - 如何在数据中搜索指定日期之后的日期值?

android - SQLite 查询 : Select Query with BETWEEN clause

HTML 选择下拉箭头样式

mysql - 检查多个表上的重复数据

mysql - 使用 python 更新 mysql

mysql - Rails 3 序列化哈希值保存但不持久

Java 程序将表转储为一组插入语句