簡體   English   中英

使用LEFT JOIN結合WHERE子句進行搜索

[英]Searching using LEFT JOIN combined with WHERE clause

我需要聯接來自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'");

進行LEFT JOIN您需要使用ON語法定義2個表之間的鏈接。 另外,查詢中不能包含2個WHERE 參見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注入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM