sql >> Databáze >  >> RDS >> Mysql

Chyba příkazu GROUP_CONCAT mysql

Pokud se podíváte na svůj kód (a přiblížíte):

SET @sql = CONCAT('SELECT id_c, students,', @sql, '
        [..]
                CONCAT(B.`code`, '_', A.id_a) col,
                CONCAT(D.value_m, ',', D.value_n) val
        [..]
        GROUP BY id_c'
    );

uvidíte, že _ a , jsou černé, zatímco by měly být červené jako součást provázku. To znamená, že vaše struna je tam "přerušená". Jednoduché uvozovky tedy musíte uvozovat pomocí '' :

SET @sql = CONCAT('SELECT id_c, students,', @sql, '
        [..]
                CONCAT(B.`code`, ''_'', A.id_a) col,
                CONCAT(D.value_m, '','', D.value_n) val
        [..]
        GROUP BY id_c'
    );

Nebo použijte dvojité uvozovky pro řetězce, které obsahují jednoduché uvozovky:

SET @sql = CONCAT('SELECT id_c, students,', @sql, "
        [..]
                CONCAT(B.`code`, '_', A.id_a) col,
                CONCAT(D.value_m, ',', D.value_n) val
        [..]
        GROUP BY id_c"
    );

Nyní je celý řetězec červený, jak má být :-)

http://rextester.com/SLMU41976




  1. Vložte aktualizaci uloženou proc na SQL Server

  2. Vytvořte cizí klíč v SQLite

  3. Průvodce Entity Data Wizard Entity Framework selže při připojování k databázi MySQL

  4. Mohu předpovědět, jak velký bude můj index Zend Framework? (a pár rychlých otázek)