Błąd z zapytaniu SQL

0
KATALOG="/media/server/public/ceny"

rm $KATALOG/*.csv

for marka in 0003 0030 0039 0048 0062 0065 0161 0351 0380 4969 4986 6304 6368
do
  mysql -u root -nono towary <<EOF

 (SELECT 'symbol', 'zak_netto', 'detal_n', 'detal_b', 'Si')
 UNION
 (SELECT ArtNr AS symbol,
    REPLACE (NajmniejszaCena, '.', ',') AS zak_netto,
    REPLACE (ROUND (NajmniejszaCena * '1.35', 2), '.', ',')  AS detal_n,
    REPLACE (ROUND ((NajmniejszaCena * '1.35' * '1.23'), 2), '.', ',') AS detal_b,
    '1' AS Si
    FROM t_zakup WHERE EinspNr = $marka AND EinspNr != "6368" AND GenArtNr NOT IN ("00083","00124", "00276", "00277", "00401", "00405", "00407", "00743", "01164", "01165", "01337", "01502", "02169","02248", "02296", "02513") ORDER BY ArtNr)
 UNION
 (SELECT ArtNr AS symbol,
    REPLACE (NajmniejszaCena, '.', ',') AS zak_netto,
    REPLACE (ROUND (NajmniejszaCena * '1.5625', 2), '.', ',')  AS detal_n,
    REPLACE (ROUND ((NajmniejszaCena * '1.5625' * '1.23'), 2), '.', ',') AS detal_b,
    '1' AS Si
    FROM t_zakup WHERE EinspNr = $marka AND EinspNr = "6368" AND GenArtNr NOT IN ("00083","00124", "00276", "00277", "00401", "00405", "00407", "00743", "01164", "01165", "01337", "01502", "02169","02248", "02296", "02513") ORDER BY ArtNr)
 UNION
    (SELECT ArtNr AS symbol,
    REPLACE (NajmniejszaCena, '.', ',') AS zak_netto,
    REPLACE (ROUND (NajmniejszaCena * '1.43', 2), '.', ',')  AS detal_n,
    REPLACE (ROUND ((NajmniejszaCena * '1.43' * '1.23'), 2), '.', ',') AS detal_b,
    '1' AS Si
    FROM t_zakup WHERE EinspNr = $marka AND GenArtNr IN ("00083","00124", "00276", "00277", "00401", "00405", "00407", "00743", "01164", "01165", "01337", "01502", "02169","02248", "02296", "02513") ORDER BY ArtNr
    INTO OUTFILE '/$KATALOG/$marka.csv'
    FIELDS ENCLOSED BY ''
    TERMINATED BY ';'
    ESCAPED BY '"'
    LINES TERMINATED BY '\r\n'); 
  
EOF
echo "Zrobione ceny dla $marka"
done
exit 0

wyrzuca mi taki błąd:

ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO OUTFILE '//media/server/public/ceny/6368.csv'
    FIELDS ENCLOSED BY '"'
  ' at line 23

problem pojawił się po przejściu na SQL w wersji 8.0.19-r1

Co mam źle w kodzie bo nie widzę błędów?

1
  1. dlaczego liczby są w uszach? - '1.35'
  2. dlaczego tekst jest w podwójnych uszach? - "00083"
0

Widzę temat w krzokach, czemu się nie dziwię.

JA ZAWSZE formatuję wyniki kwerend (do wymogów) w kodzie klienckim, choćby ten czy ów serwer pozwalał na więcej, niezależnie od języka w jakim piszę.

Mam rozdzielenie danych i wyglądu (Model / View) itd... w języku programowania mogę postawić breakpoint ... chyba zrozumiałe.
Moje oczy są zbyt biedne do liczenia apostrofów, przecinków itd

0

to super - to teraz pisz do twórców softu aby uwzględnili twoje, pożal się Boże, wymysły...

1 użytkowników online, w tym zalogowanych: 0, gości: 1