mysql空行仅在表为空时显示

q1qsirdb  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(328)

我有两个mysql表,其中一个名为 _campi (意大利语代表 fields )一个是 documenti (意大利语代表 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

我做错什么了?

ajsxfq5m

ajsxfq5m1#

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

相关问题