Comment faire la somme des lignes sur plusieurs colonnes dans plusieurs tables en SQL
Toutes les solutions que j’ai pu trouver sur le net ne marchait pas dans mon cas alors j’ai trouvé cette solution pour compter les lignes dans plusieurs tables à la fois :
SELECT COUNT(*)+(SELECT COUNT(*) FROM `table1` )+(SELECT COUNT(*) FROM `table2`)+ (SELECT COUNT(*) FROM `table3` ) as total FROM `table4`
Problème d’encodage lors de l’execution d’un programme par CRON
Lors de l’exécution d’un script par CRON, on peut avoir des problèmes d’encodage des caractères dans la sortie ( BDD, mails, fichiers… ). C’est du au fait que CRON n’utilise pas le charset défini par défaut. On peut constater ceci avec la commande locale :
root@s1000000:~# locale
LANG=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=
Alors qu’en exécutant locale avec CRON on obtient
LANG=
LC_CTYPE=”POSIX”
LC_NUMERIC=”POSIX”
LC_TIME=”POSIX”
LC_COLLATE=”POSIX”
LC_MONETARY=”POSIX”
LC_MESSAGES=”POSIX”
LC_PAPER=”POSIX”
LC_NAME=”POSIX”
LC_ADDRESS=”POSIX”
LC_TELEPHONE=”POSIX”
LC_MEASUREMENT=”POSIX”
LC_IDENTIFICATION=”POSIX”
LC_ALL=
Pour régler le problème il suffit de créer ou d’éditer le fichier /etc/environment en y ajoutant la ligne
LANG=en_US.UTF-8