0

我需要连接来自 2 个不同表的数据,这些表也来自不同的数据库。我需要将它们加入 1 个表中。

这是插图:

表格1

----------
dr_no    prd_sys_code   ship_code

123         ABC1               01

321         ABC2               02

----------

表 2

----------
prd_sys_code  ship_code   serialno

ABC1             01         A

ABC1             01         B

ABC1             01         C

ABC1             01         D

ABC1             01         E

ABC1             01         f
----------

表3

----------
dr_no      CSerialNo  status

123            A       P

123            B       P

123            C       P

----------

输出

----------
serialno  status

  A         P

  B         P

  C         P

  D

  E

  f

----------

我正在考虑将左连接与 where 子句结合使用,但我不知道实现此目的的正确方法。我玩弄了代码但它的错误;

$fetch = mysql_query("SELECT DB1.TABLE2.serialno, DB2.TABLE3.status FROM DB1.TABLE2 LEFT JOIN DB2.TABLE3 WHERE DB1.TABLE2.prd_sys_code='ABC1' AND DB1.TABLE2.client_code='01', WHERE DB2.TABLE3.dr_no = '123'");
4

1 回答 1

1

执行时,LEFT JOIN您需要使用ON语法来定义 2 个表之间的链接。此外,您的查询中不能有 2WHERE秒。见http://dev.mysql.com/doc/refman/5.0/en/join.html
尝试这样的事情 -

SELECT 
   inventory.prodserial.serialno, service2.installation2.status
FROM 
   inventory.prodserial
LEFT JOIN 
   service2.installation2
ON
   inventory.prodserial.serialno = service2.installation2.CSerialNo
WHERE 
   inventory.prodserial.prd_sys_code='$prd_sys_code' 
AND 
   inventory.prodserial.ship_code='$ship_to'
AND 
   service2.installation2.dr_no = '$dr_no'

请注意,我必须更改WHERE/AND子句中的几个列名以匹配已发布表中的列名。此外,请确保您正在转义您的数据以防止 SQL 注入。

于 2013-07-27T03:49:29.687 回答