clients-----------------------| job_no | client |-----------------------| 1 | North_1 || 2 | North_1 || 3 | North_1 || 4 | North_1 || 5 | North_2 || 6 | North_2 || 7 | North_2 || 8 | East || 9 | East || 10 | West |-----------------------orders-----------------------| job_no | order_no |-----------------------| 1 | order_1 || 1 | order_2 || 5 | order_4 || 5 | order_5 || 5 | order_6 || 5 | order_7 || 5 | order_8 |-----------------------我有 2 個(gè)表(客戶和訂單),我需要按客戶名稱(LIKE)檢索行?我可以做一些很冗長(zhǎng)的事情,比如:-($sql_a = "SELECT job_no, client FROM clients WHERE client LIKE '%North%'";$rows_a = fetchAll($sql_a);foreach($rows_a as $rowsArray_a) { $sql_b = "SELECT order_no FROM orders WHERE job_no='$rowsArray_a['job_no']"; $rows_b = fetchAll($sql_b); foreach($rows_b as $rowsArray_b) { $data[]=array('job'=>$rowsArray_a['job_no'], 'order'=>$rowsArray_b['order_no'], 'client'=>$rowsArray_a['client'] }}達(dá)到最終看起來(lái)像這樣的結(jié)果:Job Order Client1 order_1 North_11 order_2 North_15 order_4 North_25 order_5 North_25 order_6 North_25 order_7 North_25 order_8 North_2但是有沒(méi)有更好的方法使用 LEFT JOIN 甚至 LEFT JOIN SELECT,甚至是 SELECT 中的 SELECT?我試過(guò)了$sql = SELECT clients.job_no, clients.client, orders.job_no, orders.order_no FROM clients LEFT JOIN orders ON orders.job_no = clients.job_no WHERE clients.client LIKE '%North%'所有訂單數(shù)據(jù)均為NULL并且$sql = "SELECT clients.job_no, clients.client FROM clients LEFT JOIN orders AS o ON o.job_no = (SELECT o.job_no, o.order_no WHERE o.job_no = clients.job_no) WHERE clients.client LIKE '%North%'"但在 WHERE client.client LIKE '%North%' 附近出現(xiàn)語(yǔ)法錯(cuò)誤”
2 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
SELECT
c.job_no,
c.client,
o.order_no
FROM clients c
LEFT JOIN orders o ON o.job_no = c.job_no
WHERE c.client LIKE '%North%'
您應(yīng)該根據(jù)需要添加clients字段orders。

交互式愛(ài)情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
從上面我已經(jīng)能夠擴(kuò)展查詢以還包括訂單值,該值可以為零:這意味著您可以將單獨(dú)的參數(shù)應(yīng)用于查詢中的兩個(gè)表
SELECT
c.job_no,
c.client,
o.order_no
FROM clients c
LEFT JOIN orders o ON o.job_no = c.job_no
WHERE c.client LIKE '%North%'
AND o.order_value !=null
- 2 回答
- 0 關(guān)注
- 157 瀏覽
添加回答
舉報(bào)
0/150
提交
取消