如何在SQL语句的Select子句中引用子查询
我有一个SQL查询,如下所示:如何在SQL语句的Select子句中引用子查询,sql,tsql,select,subquery,where,Sql,Tsql,Select,Subquery,Where,我有一个SQL查询,如下所示: DECLARE @I int SET @I = (SELECT W.PMon FROM WHouse.dbo.Rundate AS W) SELECT L.ACCOUNT, L.ID, L.OPENDATE, L.ORIGINALBALANCE, L.BALANCE, L.DUEDATE, (SELECT N.BIRTHDATE FROM Sym.dbo.NAME AS N WHERE N.Account = L.Account and N.ORDI
DECLARE @I int
SET @I = (SELECT W.PMon FROM WHouse.dbo.Rundate AS W)
SELECT L.ACCOUNT,
L.ID,
L.OPENDATE,
L.ORIGINALBALANCE,
L.BALANCE,
L.DUEDATE,
(SELECT N.BIRTHDATE FROM Sym.dbo.NAME AS N WHERE N.Account = L.Account and N.ORDINAL = 0) AS 'PBD',
(SELECT N.BIRTHDATE FROM Sym.dbo.LOANNAME AS N WHERE L.Account = N.Account and L.ID = N.PARENTID and N.TYPE IN (01, 16, 20, 21)) AS 'JBD',
L.CREDITSCORE
FROM Sym.dbo.Loan AS L
JOIN Sym.dbo.Account AS A
ON L.Account = A.Account
WHERE L.TYPE IN (0, 1, 2, 3, 14, 15, 23) and L.BALANCE > 0 and L.CHARGEOFFDATE IS NULL and L.CLOSEDATE IS NULL and A.TYPE <> 5
在WHERE子句中,如何引用SELECT子句中的子查询进行比较?如果子查询返回单个值,则只能将其直接放入SELECT子句中。如果要在select子句和where子句的表达式中引用子查询中的列,则需要将子查询放入From子句中,并使用别名。。。或作为联接表,条件在On子句中: 只需将子查询放在From子句中的联接中即可
SELECT L.ACCOUNT, L.ID,L.OPENDATE,
L.ORIGINALBALANCE, L.BALANCE,
L.DUEDATE, L.CREDITSCORE,
pbd.Birthdate PBDBirthdate,
jbd.Birthdate JBDBirthdate
FROM Sym.dbo.Loan AS L
JOIN Sym.dbo.Account AS A
ON A.Account = L.Account
Join Sym.dbo.NAME pbd
On pbd.Account = L.Account
and pbd.ORDINAL = 0
Join Sym.dbo.LOANNAME jbd
On jbd.Account = L.Account
and jbd.PARENTID = L.ID
and jbd.TYPE IN (01, 16, 20, 21)
WHERE L.TYPE IN (0, 1, 2, 3, 14, 15, 23)
and L.BALANCE > 0
and L.CHARGEOFFDATE IS NULL
现在,您可以在Select子句表达式中使用别名pbf和/或jbd引用这两个表中的任何列