MySQL:从具有公共ID的不同表中选择
这是我访问你的网站数百次之后的第一篇帖子 简单的问题 我有两个表,独立的,完全不同的,只有一个公共列。 我们称之为ID\u客户机 我不必修改这些表,但我想合并它们,并在此基础上进行Select查询 表A Col_ID |Col 1 |Col 2 |Col 3 | ----------|---------|---------|---------| 40302025 |50 | 60 | 70 | 40302028 |50 | 60 | 70 | 40302030 |50 | 60 | 70 | 40302055 |50 | 60 | 70 | 40302074 |50 | 60 | 70 | 第1列第2列第3列| ----------|---------|---------|---------| 40302025 |50 | 60 | 70 | 40302028 |50 | 60 | 70 | 40302030 |50 | 60 | 70 | 40302055 |50 | 60 | 70 | 40302074 |50 | 60 | 70 | 表B Col_ID |Col X |Col Y |Col Z | ----------|---------|---------|---------| 40302025 |ABC | CDE | 7ASE | 40302028 |ABC | CDE | 7ASE | 40302030 |ABC | CDE | 7ASE | 40302055 |ABC | CDE | 7ASE | 40302074 |ABC | CDE | 7ASE | 柱ID |柱X |柱Y |柱Z| ----------|---------|---------|---------| 40302025 | ABC | CDE | 7ASE| 40302028 | ABC | CDE | 7ASE| 40302030 | ABC | CDE | 7ASE| 40302055 | ABC | CDE | 7ASE| 40302074 | ABC | CDE | 7ASE| 表格结果 Col_ID |Col X |Col Y |Col Z |Col 1 |Col 2 |Col 3 | ----------|---------|---------|---------|---------|---------|---------| 40302055 |ABC | CDE | 7ASE |50 | 60 | 70 | 40302074 |ABC | CDE | 7ASE |50 | 60 | 70 | 第1列|第2列|第3列|第1列|第X列|第Y列|第Z列|第1列|第2列|第3列| ----------|---------|---------|---------|---------|---------|---------| 40302055 | ABC | CDE | 7ASE | 50 | 60 | 70| 40302074 | ABC | CDE | 7ASE | 50 | 60 | 70| 我必须进行查询(如“Order”、“Limit”等),以便第一个表依赖于第二个表,反之亦然 示例:我想根据表B的X列对表A的第2列进行排序,其中ID>40302030 示例2:我想选择表A的第3列和表X的第B列,其中ID>40302030 我不希望查询解决这些示例,但我想了解应该使用什么函数。我试过联合,联合所有人,加入,但也许我不理解使用的光学原理 听起来像是“我想把两个表合并到一个表中,然后我进行SELECT、ORDERBY、WHERE等查询。” 谢谢你,对不起我的英语MySQL:从具有公共ID的不同表中选择,mysql,Mysql,这是我访问你的网站数百次之后的第一篇帖子 简单的问题 我有两个表,独立的,完全不同的,只有一个公共列。 我们称之为ID\u客户机 我不必修改这些表,但我想合并它们,并在此基础上进行Select查询 表A Col_ID |Col 1 |Col 2 |Col 3 | ----------|---------|---------|---------| 40302025 |50 | 60 | 70 | 40302028 |50 |
Carlo您应该将这两个表连接起来。大概是这样的:
SELECT
a.col_ID,
b.colx,
b.coly,
b.colz,
a.col1,
a.col2,
a.col3
FROM tableA AS a
INNER JOIN tableB AS b ON a.col_ID = b.col_ID
WHERE a.col_ID > 40302030;
请在此处查看它的实际操作:
| COL_ID | COLX | COLY | COLZ | COL1 | COL2 | COL3 |
------------------------------------------------------
| 40302055 | ABC | CDE | 7ASE | 50 | 60 | 70 |
| 40302074 | ABC | CDE | 7ASE | 50 | 60 | 70 |
对于排序,添加一个ORDER BY
子句
由于这两个表相互关联,因此您应该将它们连接起来 如果要将两个表的列合并到一组列中,可能需要使用
UNION
,我认为情况并非如此。由于您希望显示表A中的所有列和表B中的所有列。以下是一个示例:
SELECT
a.col_ID, b.colx,b.coly,b.colz,a.col1,a.col2,a.col3
FROM
tableA a, tableB b
WHERE
a.col_ID = b.colID
ORDER BY
b.colx ASC
希望能有所帮助。完美!!!伟大的但是如果我想在这些数据上建立一个记录集,我会使用“COLX”或“b.COLX”???例如:MyVar=rs(“b.COLX”)@user2327061-
b.COLX
将选择名称COLX
而不是b.COLX
,其他列的名称相同。所以它应该是MyVar=rs(“colx”)