mysql - MySQL 空行仅在表为空时显示
问题描述
我有 2 个 MySQL 表,一个名为_campi
(Italian for fields
),一个名为documenti
(Italian for documents
)。
我需要显示所有来自_campi
和哪里有匹配的行,documenti
这必须显示在一个字段中作为结果。
我无法理解的奇怪行为是,如果documenti
表为空,我会得到预期的结果(10 行有许多空值,预期结果),如果 documenti 不是空的,我只会得到 2 行的结果。
这是查询:
SELECT *, campi_tipologie.valore_campo as tipo_doc FROM _campi as campi_tipologie
LEFT JOIN documenti
ON documenti.doc_type = campi_tipologie.id_campo
WHERE campi_tipologie.categoria = "documenti-immobili"
AND (campi_tipologie.codec = 2 OR campi_tipologie.codec = 0)
AND (documenti.id_immobile IS NULL OR documenti.id_immobile = 422)
ORDER BY id_campo
我究竟做错了什么?
解决方案
SELECT campi
, I
, actually
, want
, c.valore_campo tipo_doc
FROM _campi c
LEFT
JOIN documenti d
ON d.doc_type = c.id_campo
AND d.id_immobile = 422
WHERE c.categoria = "documenti-immobili"
AND c.codec IN(2,0)
AND d.id_immobile IS NULL -- or omit this
ORDER
BY c.id_campo
推荐阅读
- netcdf - 使用 xarray 将 NetCDF 保存为时间维度的子集
- c++ - 无法使用 Rcpp 编译 R 包
- vue.js - 升级 Vue 模板加载器以使用 Vue3
- sharepoint - 自动更新 Power Automate 流中的批准详细信息
- google-apps-script - 当多个脚本写入同一个谷歌表格时会发生什么?
- amazon-web-services - 我的 AWS 访问密钥 ID 和密钥 - 不断变化
- javascript - 是否可以在创建新的 MongoDB 文档之前向 req.body 添加数据?
- html - 从父母到孩子的填充问题
- templating - AnsibleError:模板化字符串时出现模板错误:预期的令牌':',得到'}'
- python - 更新点子有哪些风险?