起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: trickle

dataGrid里面的列怎样才能使用两个不同数据集中的字段,急!!!!!!

[复制链接]
发表于 2008-6-12 16:31:40 | 显示全部楼层
请楼主参照SQL帮助:
子查询是一个 SELECT 查询,它返回单个值且嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。任何允许使用表达式的地方都可以使用子查询。下例中,一个子查询用作 SELECT 语句中名为 MaxUnitPrice 的列表达式。

SELECT Ord.OrderID, Ord.OrderDate,
       (SELECT MAX(OrdDet.UnitPrice)
        FROM Northwind.dbo.[Order Details] AS OrdDet
        WHERE Ord.OrderID = OrdDet.OrderID) AS MaxUnitPrice
FROM Northwind.dbo.Orders AS Ord
回复 支持 反对

使用道具 举报

发表于 2008-6-12 16:53:52 | 显示全部楼层
弄个临时字段能不能整。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 17:12:21 | 显示全部楼层
还是不行
嵌套sql不支持group分组阿,顶多只能统计一个全部路径的长度,但是没有办法根据路径id分组阿
回复 支持 反对

使用道具 举报

发表于 2008-6-12 17:13:19 | 显示全部楼层
你的sql语句怎么写的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 17:13:32 | 显示全部楼层
弄个临时字段也差不多,关键是字段的值是要从另外一个数据表里面,取相同路径id的纪录,把路径长度相加得到的,这个该怎么整
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 17:14:04 | 显示全部楼层
SELECT XLDYB.XLMC, XLDYB.DQH, XLDYB.XLID, XLDYB.BH,(SELECT  SUM(QYLJB.ZD)
  FROM XLDYB, QYLJB
WHERE XLDYB.XLID=QYLJB.XLID GROUP BY XLDYB.XLID) AS '线路长度'
  FROM XLDYB
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 17:14:54 | 显示全部楼层
上面的肯定不对
去掉groupby后,算出来的是全部线路全部路径的长度,不合要求
SELECT XLDYB.XLMC, XLDYB.DQH, XLDYB.XLID, XLDYB.BH,(SELECT  SUM(QYLJB.ZD)
  FROM XLDYB, QYLJB
WHERE XLDYB.XLID=QYLJB.XLID ) AS '线路长度'
  FROM XLDYB
回复 支持 反对

使用道具 举报

发表于 2008-6-12 17:41:40 | 显示全部楼层
参考一下:
SELECT ID, SUM(CD) AS LEN
FROM (SELECT LXDYB.LXID AS 'ID', 0 AS 'CD'
        FROM LXDYB, QYLXB
        WHERE LXDYB.LXID = QYLXB.LXID
        UNION
        SELECT LXDYB.LXID AS 'ID', SUM(QYLXB.ZD) AS 'CD'
        FROM LXDYB, QYLXB
        WHERE LXDYB.LXID = QYLXB.LXID
        GROUP BY LXDYB.LXID) DERIVEDTBL
GROUP BY ID
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 00:24 , Processed in 0.041700 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表