【发布时间】:2013-07-17 18:04:53
【问题描述】:
我有两张桌子。一种带有部件号、硬件名称和类型,另一种带有硬件的位置,还具有包含硬件的特定箱的位置。这些垃圾箱没有特定的编号,但有唯一的名称。第二个表还包含硬件和 bin 的位置,这些位置可能会随着时间而改变。我正在尝试创建一个 MySQL 查询,它将数据组合到一个新表中,该表将作为逗号分隔的文件输出。
表 1 内容
Part Number | Name | Type
------------+---------------+---------------
0 | None | Not Applicable
25 | name1 | type1
150 | name2 | type2
表 2 内容
Date | Bin | Part Number | Event | To Location | From Location
---------+------+--------------+----------+-------------+---------------
1/1/2013 | bin1 | 0 | arrive | location1 | none
1/2/2013 | none | 25 | arrive | location2 | none
1/2/2013 | none | 150 | relocate | location3 | location2
查询的最终输出应该类似于:
Date | Bin | Part Number | Part Name | Type | Event | To Location | From Location
---------+------+-------------+-----------+----------------+----------+-------------+--------------
1/1/2013 | bin1 | 0 | None | Not Applicable | arrive | location1 | none
1/2/2013 | none | 25 | name1 | type1 | arrive | location2 | none
1/2/2013 | none | 150 | name2 | type2 | relocate | location2 | location2
【问题讨论】:
-
您不能在没有相关数据的情况下将两个表连接在一起。表 1 中的哪些内容与表 2 相关?有主ID吗? ID是相关信息吗?请说清楚。就逗号分隔的输出而言,这只能在使用 JOIN 查询然后使用 PHP 或 phpMyAdmin 输出之后完成。您需要定期使用还是只需要一次?
-
相关数据是零件号。我们使用表 2 中的零件编号来表示机芯,因为它们都是唯一的,而零件名称不一定是唯一的。我们实际上是在获取输出并创建一个 .txt。
-
抱歉,我一定是盯着表 2 中的零件号而错过了。你在查询上走了多远?您甚至尝试运行任何查询吗?还是您希望 SE 为您完成所有工作?你有什么问题?
-
不用担心,它在几张桌子上就有很多信息。我已经成功地从表 2 中提取所有数据并将其放入 .txt 文件中,并在此处尝试了来自不同线程的多个查询,但无法将所需的信息输入到我需要的输出中。我最新的不返回任何内容是“SELECT table2.*, FROM table2 JOIN table1.name, table 1.type WHERE table 2.part number=table 1.part number;”。我对这种类型的工作非常陌生,并且在进行项目时正在学习,现在已经被困在查询上将近 2 天了,所以只是想获得一些帮助或指导。
-
您的语法已关闭,请参阅下面的答案以了解正确的语法