SELECT CONVERT(varchar(100), A.CREATED, 23) ddate, (select Top 1 PubDefStr1 from M_F_RDS10 WHERE BatchNo=MATERIALLOT) pbs1, MATERIALLOT lot,a.MATERIAL_ID materialid,B.CODE materialcode,B.NAME materialname,C.CODE storagecode, C.NAME storagename,cast(a.Qty as float) QTY, (select Top 1 Z2.NAME from M_F_RDS01 Z LEFT JOIN M_F_RD01 Z1 ON Z.RD01_ID=Z1.ID LEFT JOIN M_V_VENDOR Z2 ON Z1.VENDOR_ID=Z2.ID WHERE Z.PUBDEFSTR1=MATERIALLOT and z.MATERIAL_ID=b.id and z.STORAGE_ID=c.id) vendorname, (SELECT ISNULL(SUM(ISNULL(D00.HAD,0)),0) FROM InventoryOccupancy D00 WHERE A.MATERIAL_ID=D00.MATERIAL_ID AND A.STORAGE_ID=D00.STORAGE_ID AND A.MATERIALLOT=D00.BATCHNO ) had FROM M_F_STOCKMATERIAL A LEFT JOIN M_M_MATERIAL B ON A.MATERIAL_ID=B.ID LEFT JOIN M_F_STORAGE C ON A.STORAGE_ID=C.ID
时间: 2024-04-23 17:22:27 浏览: 11
这是一条SQL查询语句,用于从多个数据表中获取一些字段的值。具体来说,它选取了以下字段:
1. A.CREATED:表示某个物料批次的创建日期时间。
2. M_F_RDS10.PubDefStr1:表示某个物料批次的一个公共定义字符串。
3. A.MATERIALLOT:表示某个物料批次的批次号。
4. A.MATERIAL_ID:表示某个物料批次所对应的物料的ID号。
5. B.CODE:表示某个物料的编码。
6. B.NAME:表示某个物料的名称。
7. C.CODE:表示某个存储区的编码。
8. C.NAME:表示某个存储区的名称。
9. A.Qty:表示某个物料批次的数量。
10. M_F_RDS01.Z2.NAME:表示某个物料批次所对应的供应商的名称。
11. InventoryOccupancy.HAD:表示某个物料在某个存储区的已有库存量。
其中,这些字段分别来自于以下数据表:
1. M_F_STOCKMATERIAL:表示物料的批次信息表。
2. M_M_MATERIAL:表示物料信息表。
3. M_F_STORAGE:表示存储区信息表。
4. M_F_RDS10:表示某个物料批次的批次信息表。
5. M_F_RDS01:表示某个物料批次所对应的入库单信息表。
6. M_V_VENDOR:表示供应商信息表。
7. InventoryOccupancy:表示某个物料在某个存储区的库存信息表。
相关问题
SELECT CONVERT(varchar(23), a.roomfee-a.YHMoney)
根据您提供的SQL语句,假设a是一个表,包含roomfee和YHMoney两个列,您想要将这两列的差值转换为字符串类型的值。您可以使用以下代码:
```
SELECT CONVERT(varchar(23), a.roomfee - a.YHMoney)
FROM a
```
这将返回一个结果集,其中每行包含roomfee和YHMoney两列的差值,以字符串类型的形式显示。请注意,由于使用了CONVERT函数,差值将被转换为默认格式的字符串。如果您需要指定转换后字符串的格式,可以使用CONVERT函数的其他重载版本。
解释一下:select '$'+convert(varchar,cast(111111.5 as money),1)
这个 SQL 查询语句的作用是将数值类型的 111111.5 转换成货币类型,并在前面加上美元符号 "$"。其中,convert 函数将数值类型转换成字符串类型,而 money 数据类型则表示货币类型。最后的参数 1 表示使用默认的货币格式。