sql >> Database teknologi >  >> RDS >> Mysql

Mysql returnerer mere end én række

En underforespørgsel i en IF-sætning kan ikke returnere flere kolonner. Du skal tilføje underforespørgslen til resultaterne og trække de to separate kolonner ud individuelt:

SELECT ... IF(!ISNULL(td_doc_nr.value_string), sub.one, NULL) as one, IF(!ISNULL(td_doc_nr.value_string), sub.two, NULL) as two FROM ... LEFT JOIN ( SELECT d.doc_nr, GROUP_CONCAT(product_name SEPARATOR ','),GROUP_CONCAT(DISTINCT b.msisdn SEPARATOR ',') from documents d join document_bundles b on b.document_id = d.id join document_products p on p.doc_bundle_id = b.id join document_product_cstm_fields f on f.doc_product_id = p.id join document_product_cstm_field_data fd on fd.cstm_field_id = f.id where value_string ='auto' group by d.doc_nr ) sub on sub.doc_nr = td_doc_nr.value_string

  1. Hvordan installerer jeg kommandolinje MySQL-klient på mac?

  2. Sådan deaktiveres MySQL Strict Mode

  3. Hvad er databaser?

  4. SqlBulkCopy Indsæt med identitetskolonne