6

这是我访问您的网站数百次后的第一篇文章。

简单的问题。

我有两张表,独立的,完全不同,只有一个公用列。我们称之为 ID_Client

我不必修改这些表,但我想合并它们并在此创建一个 Select Query。

表 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 |

表 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 |

表格结果

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 |

我必须查询(如“订单”、“限制”等),以便第一个表依赖于第二个表,反之亦然。

示例:我想对表A的第2列进行排序,基于表B的X列,其中ID> 40302030

示例 2:我想选择表 A 的第 3 列和表 X 的列 B 其中 ID> 40302030

我不希望查询解决这些示例,但我想了解我应该使用什么函数。我尝试了 UNION、UNION ALL、JOIN,但也许我不了解使用的光学原理。

这听起来像“我想将两个表合并为一个,然后我进行 SELECT、ORDER BY、WHERE 等查询。”

谢谢和对不起我的英语

卡罗

4

2 回答 2

8

你应该JOIN两个表。像这样的东西:

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子句。


由于这两个表相互关联,那么您应该使用JOIN它们。

UNION如果要将两个表的列合并到一组列中,则可能需要使用,我认为情况并非如此。由于您要显示 tablea 中的所有列和 tableb 中的所有列。

于 2013-04-28T08:21:53.553 回答
2

这是一个例子:

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

希望它有所帮助。

于 2014-01-18T12:29:10.183 回答