【发布时间】:2009-08-05 12:05:55
【问题描述】:
前两列来自一组查询语句,其余列来自另一组。 我想在一行中显示值。谁能帮帮我
A B C D
NULL NULL 0 22
0 699 NULL NULL
SELECT 语句:
SELECT P.A, P.B, T2.C, T2.D
FROM Table1 AS P
JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS A
FROM Table1
WHERE Type = 0
GROUP BY Type) AS A1
ON A1.ParcelID = P.ID
RIGHT OUTER JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS B
FROM Table1
WHERE Type = 1 GROUP BY Type) AS B1
ON B1.ID = P.ID
FULL JOIN (
SELECT R.ID,ISNULL(C1.C,0) C, ISNULL(D1.D,0) D
FROM Table2 AS R
FULL JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS C
FROM Table2
WHERE Type = 0
GROUP BY Type) AS C1
ON C1.ID = R.ID
RIGHT OUTER JOIN (
SELECT MAX(ID) ID, COUNT(ID) AS D
FROM Table2
WHERE Type = 1
GROUP BY Type) AS D1
ON D1.ID = R.ID) AS T2
ON T2.ID = P.ID
【问题讨论】:
-
你用的是什么数据库引擎?
-
两者之间是否有任何共同的字段,以便您可以将它们捆绑在一起?
-
我们可能需要有关查询的更多详细信息来帮助您...
-
有一个字段,但我需要所有记录。我会给出查询的语法
标签: sql sql-server join