主题:如何读数据库中的数据?如何获得数据库中一条记录中某个字段的值?
zhoudavid
[专家分:240] 发布于 2006-06-18 21:33:00
如题,求教达人!(30分)
再拜!
回复列表 (共7个回复)
沙发
菜鸭 [专家分:5120] 发布于 2006-06-19 07:51:00
select 字段名 from 表 where 条件
板凳
hanwb2002 [专家分:1340] 发布于 2006-06-19 11:09:00
select * from 表 where 条件 (根据条件得到的是整个数据表中的数据)
select 字段名 from 表 where 条件 (根据条件得到的是整个数据表中的某个字段的数据)
3 楼
zhoudavid [专家分:240] 发布于 2006-06-19 13:37:00
我是想知道,如何获得[color=FF0000]一条记录[/color]的某个字段的信息,谢谢
4 楼
hanwb2002 [专家分:1340] 发布于 2006-06-19 13:54:00
就是 select 字段名 from 表 where 条件 (根据条件得到的是整个数据表中的某个字段的数据)
例如:select 姓名 from 人员表 where 昵称='hanwb2002'
当然,昵称要是唯一的就只有一条,如果还不行,再加条件。如:
select 姓名 from 人员表 where (昵称='hanwb2002') and (性别='男')and(年龄=26)
5 楼
zhoudavid [专家分:240] 发布于 2006-06-19 14:05:00
哦,那我要是想把这个字段的内容,和一个特定的值比较,该怎么做呢?
再拜达人!
6 楼
hanwb2002 [专家分:1340] 发布于 2006-06-20 11:01:00
那就写个自定义函数,利用数据库变量比较。以下是我曾经写的数据库自定义函数,你可以看看。
CREATE FUNCTION [dbo].[ExitsDepot] (@GoodsID VARCHAR(100))
RETURNS @LastMoneyTab TABLE
(
TYPE VARCHAR(100),
GOODSCODE VARCHAR(100),
NAME_SPEC VARCHAR(200),
UNIT VARCHAR(50),
AMOUNT FLOAT DEFAULT (0.0),
TOTAL_MONEY MONEY DEFAULT (0.0)
)
AS
BEGIN
DECLARE @ORIGINAL_DATA FLOAT
SELECT @ORIGINAL_DATA = SUM(ORIGINAL_DATA) FROM ALL_GOODS WHERE(GOODSCODE = @GoodsID)
DECLARE @ORIGINAL_MONEY MONEY
SELECT @ORIGINAL_MONEY = SUM(ORIGINAL_MONEY) FROM ALL_GOODS WHERE(GOODSCODE = @GoodsID)
DECLARE @PARTIN_NUM FLOAT
SELECT @PARTIN_NUM= SUM(AMOUNT) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND
(STOCK_INFO.GOODSCODE = @GoodsID) and (CODE_TYPE = '入库')
DECLARE @PARTIN_MONEY MONEY
SELECT @PARTIN_MONEY= SUM(TOTAL_MONEY) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND
(STOCK_INFO.GOODSCODE = @GoodsID) and (CODE_TYPE = '入库')
DECLARE @PARTOUT_NUM FLOAT
SELECT @PARTOUT_NUM= SUM(AMOUNT) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND
(STOCK_INFO.GOODSCODE = @GoodsID) AND (CODE_TYPE = '出库')
DECLARE @PARTOUT_MONEY MONEY
SELECT @PARTOUT_MONEY= SUM(TOTAL_MONEY) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND
(STOCK_INFO.GOODSCODE = @GoodsID) AND (CODE_TYPE = '出库')
DECLARE @LEAVE_NUM FLOAT
DECLARE @LEAVE_MONEY MONEY
BEGIN
IF (@PARTIN_NUM != NULL) AND (@PARTOUT_NUM != NULL)
SET @LEAVE_NUM = (@ORIGINAL_DATA + @PARTIN_NUM - @PARTOUT_NUM)
ELSE IF (@PARTIN_NUM = NULL) AND (@PARTOUT_NUM != NULL)
SET @LEAVE_NUM = (@ORIGINAL_DATA - @PARTOUT_NUM)
ELSE IF (@PARTIN_NUM != NULL) AND (@PARTOUT_NUM = NULL)
SET @LEAVE_NUM = (@ORIGINAL_DATA + @PARTIN_NUM)
ELSE IF (@PARTIN_NUM = NULL) AND (@PARTOUT_NUM = NULL)
SET @LEAVE_NUM = @ORIGINAL_DATA
ELSE SET @LEAVE_NUM= 0
IF (@PARTIN_MONEY != NULL) AND (@PARTOUT_MONEY != NULL)
SET @LEAVE_MONEY = (@ORIGINAL_MONEY + @PARTIN_MONEY - @PARTOUT_MONEY)
ELSE IF (@PARTIN_MONEY = NULL) AND (@PARTOUT_MONEY != NULL)
SET @LEAVE_MONEY = (@ORIGINAL_MONEY - @PARTOUT_MONEY)
ELSE IF (@PARTIN_MONEY != NULL) AND (@PARTOUT_MONEY = NULL)
SET @LEAVE_MONEY = (@ORIGINAL_MONEY + @PARTIN_MONEY)
ELSE IF (@PARTIN_MONEY = NULL) AND (@PARTOUT_MONEY = NULL)
SET @LEAVE_MONEY= @ORIGINAL_MONEY
ELSE SET @LEAVE_MONEY= 0
END
INSERT @LastMoneyTab
SELECT DISTINCT ALL_GOODS.TYPE, ALL_GOODS.GOODSCODE, ALL_GOODS.NAME_SPEC,ALL_GOODS.UNIT,
@LEAVE_NUM, @LEAVE_MONEY
FROM STOCK_INFO, ALL_GOODS WHERE (ALL_GOODS.GOODSCODE = @GoodsID)
RETURN
END
7 楼
派派 [专家分:100] 发布于 2006-06-20 12:27:00
定义一个变量,接下来比较自己动脑子!!!
declare @变量名 数据类型
set @变量名=(select 字段名 from 数据库。。数据表 where 条件式)
你要的东西就在 @变量名 里
我来回复