gpt4 book ai didi

php - 如何根据我的要求更改 sql 查询?

转载 作者:行者123 更新时间:2023-11-29 04:14:57 24 4
gpt4 key购买 nike

在我的 sql 数据库中,我有两个表,一个是发票,另一个是发票项目。所以我从发票(发票表)和发票项目(从发票项目表)中获取客户详细信息。我在我的 sql 代码中遇到了一个问题。如果发票在 invoiceitems 表中没有项目,则不会获取数据。

我想获取所有数据,包括发票是否在发票项目表中没有项目。下面的 sql 代码只生成发票有 invoiceitems。那么有人可以帮我做这个吗??

$sql = "SELECT 
a.cusName,
a.cusMob,
a.invoiceNo,
a.invoiceDate,
a.total_VAT,
a.bill_tot,
b.itemsName ,
b.rate,
b.amt_vat,
ROUND(b.amt_vat + b.amount, 2) as amount
FROM
invoices a,
invoice_items b
where
a.invoiceID=b.invoiceid
and a.invoiceDate between '$getfromdate' and '$gettodate'
and a.status IS NULL
order by
a.invoiceID desc";

最佳答案

您应该尝试将 SQL 更改为更新的 JOIN notation因为它会让这类事情变得更简单,所以你可以使用 LEFT JOIN表明这是一个可选表...

SELECT a.cusName, a.cusMob, a.invoiceNo,
a.invoiceDate, a.total_VAT, a.bill_tot,
b.itemsName ,b.rate, b.amt_vat,
ROUND(b.amt_vat + b.amount, 2) as amount
FROM invoices a
LEFT JOIN invoice_items b ON a.invoiceID=b.invoiceid
WHERE a.invoiceDate between '$getfromdate' and '$gettodate'
and a.status IS NULL
order by a.invoiceID desc

我还建议您查看使用 prepared statements因为它们有很多优点。

关于php - 如何根据我的要求更改 sql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com