【发布时间】:2017-04-04 18:06:20
【问题描述】:
我正在尝试使用一个查询从两个不同的表中提取两个相同数据类型的列。注意:两个表中的帐户属性长度各不相同。联合不能在这里工作,因为两个表中的列数(实际上)不同。
CREATE TABLE IF NOT EXISTS `mydb`.`TABLE_A` (
`ID_TABLE_A` INT NOT NULL AUTO_INCREMENT,
`ACCOUNT` VARCHAR(5) NULL,
`SALES` INT NULL,
PRIMARY KEY (`ID_TABLE_A`))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `mydb`.`TABLE_B` (
`ID_TABLE_B` INT NOT NULL AUTO_INCREMENT,
`ACOUNT` VARCHAR(9) NULL,
`SALES` INT NULL,
PRIMARY KEY (`ID_TABLE_B`))
ENGINE = InnoDB;
要求:(我知道这不对,只是为了展示部分图片)
SELECT
ACCOUNTS,
SALES
FROM
TABLE_A, TABLE_B
结果:
---------------
|accounts|sales|
| 2854 |52500 |
| 6584 |54645 |
| 54782| 5624 |
| 58496|46259 |
| 56958| 6528 |
---------------
【问题讨论】:
-
请重新格式化您的 CREATE TABLE 语句,使它们都是代码,并且每行放置一个属性
-
“实际上”列数不同,但在您的示例中它们不是。你可能需要一个临时表——无论如何“实际上”是非常疯狂的用例。
-
@SteveHarris,实际表数为 5;列数从 30 到 40 不等。为了避免混淆 [不想列出不相关的信息],我想在我感觉卡住的地方获得帮助。不过感谢您的帮助。