1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| --------------
SET AUTOCOMMIT = 0
--------------
--------------
START TRANSACTION
--------------
--------------
DROP DATABASE IF EXISTS `base`
--------------
--------------
CREATE DATABASE `base`
DEFAULT CHARACTER SET `latin1`
DEFAULT COLLATE `latin1_general_ci`
--------------
--------------
DROP TABLE IF EXISTS `article`
--------------
--------------
CREATE TABLE `article`
( `id` integer unsigned NOT NULL auto_increment primary key,
`lang` tinyint unsigned NOT NULL
) ENGINE=InnoDB
DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
ROW_FORMAT=COMPRESSED
--------------
--------------
INSERT INTO `article` (`lang`) VALUES (1), (3), (5), (7)
--------------
--------------
select * from article
--------------
+----+------+
| id | lang |
+----+------+
| 1 | 1 |
| 2 | 3 |
| 3 | 5 |
| 4 | 7 |
+----+------+
--------------
DROP TABLE IF EXISTS `trad`
--------------
--------------
CREATE TABLE `trad`
( `clef` integer unsigned NOT NULL primary key,
`lib` varchar(255) NOT NULL
) ENGINE=InnoDB
DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
ROW_FORMAT=COMPRESSED
--------------
--------------
INSERT INTO `trad` (`clef`, `lib`) VALUES
(1, 'Libellé en français'),
(2, 'Wording in English'),
(3, 'Denominati in italiano'),
(4, 'denominados en español'),
(99, 'Wording in English')
--------------
--------------
select * from trad
--------------
+------+------------------------+
| clef | lib |
+------+------------------------+
| 1 | Libellé en français |
| 2 | Wording in English |
| 3 | Denominati in italiano |
| 4 | denominados en español |
| 99 | Wording in English |
+------+------------------------+
--------------
select *
from article as a
inner join trad as t
on t.clef in (a.lang, 99)
group by a.lang
--------------
+----+------+------+------------------------+
| id | lang | clef | lib |
+----+------+------+------------------------+
| 1 | 1 | 1 | Libellé en français |
| 2 | 3 | 3 | Denominati in italiano |
| 3 | 5 | 99 | Wording in English |
| 4 | 7 | 99 | Wording in English |
+----+------+------+------------------------+
--------------
COMMIT
--------------
--------------
SET AUTOCOMMIT = 1
--------------
Appuyez sur une touche pour continuer... |
Partager