我需要两个表之间的视图,基本上是id和#以及它们之间的所有可能组合而不重复。表格和数据:
CREATE TABLE `ta` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
INSERT INTO `ta` (`id`, `name`) VALUES (1, 'ta1');
INSERT INTO `ta` (`id`, `name`) VALUES (2, 'ta2');
INSERT INTO `ta` (`id`, `name`) VALUES (3, 'ta3');
INSERT INTO `ta` (`id`, `name`) VALUES (4, 'ta4');
CREATE TABLE `tb` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
INSERT INTO `tb` (`id`, `name`) VALUES (1, 'tb1');
INSERT INTO `tb` (`id`, `name`) VALUES (2, 'tb2');
我想在视图中找到的结果:
view_rel_TAXTB
id_a,id_b
1,1
2,1
3,1
4,1
1,2
2,2
3,2
4,2
答案 0 :(得分:4)
以下是您的查询!
mysql> select a.id as id_a,b.id as id_b from ta a
-> cross join tb b;
+------+------+
| id_a | id_b |
+------+------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
| 3 | 1 |
| 3 | 2 |
| 4 | 1 |
| 4 | 2 |
+------+------+
8 rows in set (0.00 sec)