SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d
on p.invoice_no= d.invoiceNo and p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
这是我的查询。但它不能正常工作。拖车桌子没有正确连接。以及“喜欢”都不起作用。如何使用Like in left outer join
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d
on p.invoice_no= d.invoiceNo and p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
这是我的查询。但它不能正常工作。拖车桌子没有正确连接。以及“喜欢”都不起作用。如何使用Like in left outer join
尝试像在WHERE子句中这
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d ON p.invoice_no = d.invoiceNo
WHERE p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d
on p.invoice_no= d.invoiceNo
Where p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
您需要做的就是将WHERE添加到您的查询中。
Ha,挨打8秒! ;-) – 2014-08-29 08:59:33
@jeroen_de_schutter,这就是我通常发生的事情!哈! – 2014-08-29 09:03:00
当你想过滤的你left outer join
(这里paimentDetl)右表试试这个
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d
on p.invoice_no= d.invoiceNo
where p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
你应该在你join
声明只能过滤。当你想过滤你的左表(这里是pay_invoice_list),你应该在where clause
中添加你的过滤条款。
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d ON p.invoice_no= d.invoiceNo
WHERE p.invoice_no LIKE '%$temp%'
ORDER BY iid DESC
认沽p.invoice_no。
SELECT *
FROM pay_invoice_list p
LEFT outer JOIN paimentDetl d on p.invoice_no= d.invoiceNo
WHERE p.invoice_no LIKE ' %$temp%'
ORDER BY iid DESC
这将从pay_invoice_list invoice_no LIKE“%$ temp%”和所有记录paimentDetl发票号码匹配哪里哪里返回的所有记录。
你的表格是什么样的?你的期望与实际结果是什么?你真的只想加入包含'$ temp'的invoice_no的行,或者你想过滤已经加入的结果(即'WHERE') – knittl 2014-08-29 08:59:13