我有两个表,如下所示。
考虑到表之间没有这样的关系。
所以我需要我的结果表应该如下所示。
我如何才能做到这一点?
发布于 2012-08-17 13:23:58
我想应该是这样的:
SELECT a.Accrual_No, a.Price, d.Debit_no FROM AccrualNote AS a, DebitNote as d
WHERE a.Accrual_No IN d.AccRef
接下来,您需要为使用此查询获得的记录创建一个循环(只需使用phpMyAdmin尝试
(当然paulsm4是绝对正确的,但也许您不能改变表结构)
发布于 2012-08-17 13:49:30
CREATE FUNCTION [dbo].[F_Get_DebitNo] ( @AccrualNo VARCHAR(20) )
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @DebitNo VARCHAR(100)
SET @DebitNo = ''
SELECT @DebitNo = @DebitNo + ',' + DebitNo
FROM DebitNote
WHERE CHARINDEX(@AccrualNo, AccRef) > 0
SELECT @DebitNo = RIGHT(@DebitNo, LEN(@DebitNo) - 1)
RETURN @DebitNo
END
sql运行得很好,我已经测试过了,你只需要创建一个标量值函数,如下所示。
SELECT AccrualNo ,
Price ,
dbo.F_Get_DebitNo(AccrualNo) FROM AccrualNote
https://stackoverflow.com/questions/12000088
复制相似问题