Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:我有两个表,一个是生产表,一个是归档表。我需要从两者中选择不同的记录,因为有些记录是相同的_Mysql_Sql_Duplicates_Left Join_Union - Fatal编程技术网

MySQL:我有两个表,一个是生产表,一个是归档表。我需要从两者中选择不同的记录,因为有些记录是相同的

MySQL:我有两个表,一个是生产表,一个是归档表。我需要从两者中选择不同的记录,因为有些记录是相同的,mysql,sql,duplicates,left-join,union,Mysql,Sql,Duplicates,Left Join,Union,我有一个MySQL数据库,包含2个表prod是一个正在生产的产品,archive已存档记录。这些列完全相同产品在存档中没有所有记录 我需要在两个表的一个连接中访问不同的记录,这样我就不会在excel中复制记录和进行计算 SELECT a.order_no, a.date_of_sale, a.cost, b.order_no, b.date_of_sale, b.cost FROM `prod` AS a LEFT JOIN `a

我有一个MySQL数据库,包含2个表
prod
是一个正在生产的产品,
archive
已存档记录。这些列完全相同<代码>产品在
存档中没有所有记录

我需要在两个表的一个连接中访问不同的记录,这样我就不会在excel中复制记录和进行计算

SELECT
    a.order_no,
    a.date_of_sale,
    a.cost,
    b.order_no,
    b.date_of_sale,
    b.cost

FROM
    `prod` AS a
    LEFT JOIN `archive` AS b ON a.order_no = b.order_no
结果:

+----------+--------------+------+-------------+-----------------+---------+
| order_no | date_of_sale | cost | order_no(1) | date_of_sale(2) | cost(2) |
+----------+--------------+------+-------------+-----------------+---------+
|      333 | 11-28-2017   |   10 |         333 | 11-28-2017      |      10 |
|      334 | 11-28-2017   |   12 |         334 | 11-28-2017      |      12 |
|      336 | 11-29-2017   |   30 |         335 | 11-28-2017      |      25 |
|      337 | 11-30-2017   |   15 |             |                 |         |
|      338 | 11-30-2017   |   17 |         338 | 11-28-2017      |      17 |
+----------+--------------+------+-------------+-----------------+---------+
如何构造查询以过滤两个表中相同的记录

我想要的结果是:

+----------+--------------+------+
| order_no | date_of_sale | cost |
+----------+--------------+------+
|      333 | 11-28-2017   |   10 |
|      334 | 11-28-2017   |   12 |
|      335 | 11-28-2017   |   25 |
|      336 | 11-29-2017   |   30 |
|      337 | 11-30-2017   |   15 |
|      338 | 11-30-2017   |   17 |
+----------+--------------+------+```
我怀疑您想要的是
联合
而不是
加入

select order_no, date_of_sale, cost from prod
union 
select order_no, date_of_sale, cost from archive

union
删除结果集之间的重复项(以及结果集内的重复项)。

请向我们显示您想要的结果。您是否尝试按列名称“分组”列?所需结果与
prod
中的结果有何不同?@Barmar-感谢您指出这一点。我更改了表信息以显示差异和所需的结果。您的原始查询如何将prod中的
order\u no=336
与归档中的
order\u no=335
连接起来?Union非常适合这种情况。以前从未用过。非常感谢。