ZHZHK001 2023-11-28 16:21 采纳率: 85.7%
浏览 16
已结题

t+畅捷通sql字段问题

下面是我写的sql语句
我想问问如何获取品牌信息与默认供应商的名称,尤其是品牌字段怎么获取
今天找了好久没找到,从什么地方(什么表)获取对应的名称

我貌似找到供应商了

```sql
SELECT
    t0.id ,
    t0.code,
    t0.name,
    t0.Specification ,
    t1.baseQuantity  ,
    t2.name unitName,
    t3.name warehouseName,  
    t0.productInfo  -- 应该是品牌的代号吧
    ,    '品牌',
    t4.name  partnerName  -- 应该是默认供应商吧
FROM
    AA_InventoryEntity t0
    INNER JOIN ST_NewCurrentStock t1 ON t1.IdInventory = t0.id
    INNER JOIN AA_Unit t2 ON t2.id = t1.IdBaseUnit
    INNER JOIN AA_Warehouse t3 ON t3.id = t1.idwarehouse 
    LEFT JOIN AA_PartnerEntity t4 ON t4.id = t0.idpartner 

```

  • 写回答

2条回答 默认 最新

  • ZHZHK001 2023-11-29 10:44
    关注

    我已经知道答案了
    通过写一个特殊的品牌,然后在数据库中找出他在哪个表哪个字段

    
    ```sql
    DECLARE @what varchar(800) 
    SET @what='测试的品牌' --要搜索的字符串 
    
    DECLARE @sql varchar(8000) 
    
    DECLARE TableCursor CURSOR LOCAL FOR 
    SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE ''%'+@what+'%'' ) PRINT ''所在的表及字段:['+o.name+'].['+c.name+']''' 
    FROM syscolumns c JOIN sysobjects o ON c.id=o.id 
    
    -- 175=char 56=int 可以查 select * from sys.types 
    WHERE o.xtype='U' AND c.status>=0 AND c.xusertype IN (175, 239, 231, 167 ) 
    
    OPEN TableCursor 
    
    FETCH NEXT FROM TableCursor INTO @sql 
    WHILE @@FETCH_STATUS=0 
    BEGIN 
    EXEC( @sql ) 
    FETCH NEXT FROM TableCursor INTO @sql 
    END 
    
    CLOSE TableCursor 
    
    -- 删除游标引用 
    DEALLOCATE TableCursor
    
    [eap_EnumItem].[Name]
    
    SELECT NAME , * FROM eap_EnumItem  WHERE NAME = '测试的品牌'
    
    ].[Name]
    
    
    
    
    
    
    
    SELECT
        t0.id ,
        t0.code,
        t0.name,
        t0.Specification ,
        t1.baseQuantity  ,
        t2.name unitName,
        t3.name warehouseName,  
            T5.NAME branchName,
        t4.name  partnerName  -- 应该是默认供应商吧
    FROM
        AA_InventoryEntity t0
        INNER JOIN ST_NewCurrentStock t1 ON t1.IdInventory = t0.id
        INNER JOIN AA_Unit t2 ON t2.id = t1.IdBaseUnit
        INNER JOIN AA_Warehouse t3 ON t3.id = t1.idwarehouse 
        LEFT JOIN AA_PartnerEntity t4 ON t4.id = t0.idpartner
            LEFT JOIN  eap_EnumItem T5 ON T5.ID = T0.productInfo
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 修改了问题 11月28日
  • 修改了问题 11月28日
  • 展开全部