我有一个对我来说似乎很基本的问题,但找不到答案。我有两个表:A 和 B。表 A 有一个带有 id-s (int) 的列,表 B 将这些 id-s 与描述 (varchar) 连接起来。我想对表 A 进行查询,并在其中替换 id -s 与表 B 中的描述(一对一关系)。我目前有这个查询:
select tableA.* from tableA join tableB on (tableA.id=tableB.description);
这应该可以完成工作,除了我收到警告 1292:“截断不正确的 DOUBLE 值”。
我明白这意味着什么,这两种数据类型不匹配。但是如何使它工作呢?我确信这一定是一个简单的修复,并且我所要求的一直在使用(例如用书名替换 ISBN 等)......
任何帮助将非常感激!
根据要求编辑
对不起,我认为这不是模棱两可的...... Db结构:
mysql> describe tasks;
+----------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------------+------+-----+---------+----------------+
| tid | int(10) unsigned | NO | PRI | NULL | auto_increment |
| pid | int(10) unsigned | YES | | NULL | |
| username | varchar(15) | YES | | NULL | |
| task | varchar(1000) | NO | | NULL | |
+----------+-----------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
mysql> describe projects;
+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| pid | int(10) unsigned | NO | PRI | NULL | auto_increment |
| title | varchar(200) | YES | | NULL | |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
我想“从任务中选择 *”,其中每个 pid 都替换为同一查询中表项目中的相应标题。
希望现在更清楚...