[英]Global Variable MySQL
我有这个查询:
SELECT
qa_invoices.invoice_clientname,
(
SELECT IFNULL(MIN(qa_returns.discount_code),1)
FROM qa_returns
WHERE qa_returns.invoice_code = qa_invoices.invoice_code
AND qa_returns.discount_code <> 1
) AS discount_code,
qa_users.user_name,
(0.00) AS previous_balance,
(0.00) AS difference_to_be_paid,
(0.00) AS client_credit,
SUM(SubQueryAlias.item_discount) AS invoice_discount,
SUM(SubQueryAlias.item_subtotal) AS invoice_subtotal,
SUM(SubQueryAlias.item_total) AS invoice_total,
DATE_FORMAT(qa_invoices.invoice_date,'%M %e, %Y @ %h:%i %p') AS returnlog_date
FROM (
SELECT qa_returns_items.item_code,
qa_returns_items.item_subtotal,
qa_returns_items.item_discount,
qa_returns_items.item_total
FROM qa_returns_items
WHERE returnlog_code = (
SELECT MIN(qa_returns.returnlog_code)
FROM qa_returns
WHERE qa_returns.invoice_code = 1
)
UNION
SELECT qa_returns_residues.item_code,
qa_returns_residues.item_subtotal,
qa_returns_residues.item_discount,
qa_returns_residues.item_total
FROM qa_returns_residues
WHERE returnlog_code = (
SELECT MIN(qa_returns.returnlog_code)
FROM qa_returns
WHERE qa_returns.invoice_code = 1
)
ORDER BY item_code ASC
) AS SubQueryAlias, qa_invoices
LEFT JOIN qa_users USING(user_code)
WHERE SubQueryAlias.item_code NOT IN (
SELECT a.item_code
FROM qa_returns_items a
JOIN qa_returns_residues b
ON b.item_code = a.item_code
WHERE a.returnlog_code = (
SELECT MIN(qa_returns.returnlog_code)
FROM qa_returns
WHERE qa_returns.invoice_code = 1
)
AND b.returnlog_code = (
SELECT MIN(qa_returns.returnlog_code)
FROM qa_returns
WHERE qa_returns.invoice_code = 1
)
)
AND qa_invoices.invoice_code = 1;
该查询工作正常,但是如果我们将值invoice_code
设置为5次。 我想知道是否有任何方法可以声明全局变量以将相同的值分配给所有
当然,您可以使用用户定义的变量 。
例如:
SET @invoice_code=1;
SELECT MIN(qa_returns.returnlog_code)
FROM qa_returns
WHERE qa_returns.invoice_code = @invoice_code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.