猿问

比较2个MYSQL表以查找匹配数据PHP

我的 MYSQL 数据库中有 2 个表,名为Komplektacijapack_to_light


komplektacija表保存有关 Item1、Item2、Item3 的信息…… pack_to_light表保存有关哪个 Item 分配给某些设备的信息

我需要做的是比较两个表,并在pack_to_light表中找到一个具有与komplektacija表中的“项目”和“序列”匹配的“项目”和“序列”的设备,并更新“pack_to_light”表中的数量。

For this particular example. I would need to return:
device 1 | Item1 | 12345 | 1

我没有太多的 PHP 经验,但我相信我需要在 PHP 中使用 UNION 运算符来查找匹配的数据。我想先了解如何找到匹配的数据,然后担心更新数量。有人能给我提示吗


蛊毒传说
浏览 93回答 2
2回答

慕标5832272

相关的更新就可以了。例如:update pack_of_light p, Komplektacija kset p.Quantity = k.Quantitywhere k.Serial = p.Serial and k.Item = p.Item结果:Device   Item   Serial  Quantity -------- ------ ------- -------- device1  Item1  12345   1        device2  Item4  2141    0        device3  Item6  23241   0        您可以在DB Fiddle中查看正在运行的示例。

呼唤远方

我已经设法从两个表中获取匹配的数据。自从我提到 PHP 以来,我不确定是否可以在这个论坛上询问更多详细信息,但是我决定使用 python 来运行脚本:def compare_2_tables(conn):    cur = conn.cursor()    query = "UPDATE pack_to_light p, komplektacija k SET p.Quantity = k.Quantity WHERE k.Serial = p.Serial and k.Item = p.Item"    cur.execute(query)    myConnection.commit()    for p.Device,p.Quantity in cur.fetchall() :        print (Device, Quantity)        string = Device+"/"+Quantity;        print (string)        mqttc.publish(string,quantity)我在这里想做的是提取有关更新了哪个设备以及数量的信息。在前面的示例中,我需要返回 device1 和 1。我需要这两个变量才能向 device1 发送正确的消息。有没有懂 python 知识的人可以指导我完成这个任务?
随时随地看视频慕课网APP
我要回答