本人刚学C#
要用到一条SQL查询语句表一
Code District
123  徐汇
234  黄浦
111  黄浦表二
id   code
1    wy123
2    fg234
求问怎么在表二中查询个数,如我选择了黄浦,就查询到
id   code   District
2    234    黄浦呢?
表二是记录用户数据的表,表一是一个静态专门用来查询的表跪求!

解决方案 »

  1.   

    用的是mysql数据库我自己写了一条:
     string sql = " SELECT DATE_FORMAT(createtime, '%Y-%m-%d') as statstime, COUNT(id) AS ipcount, COUNT(id) AS pvcount " + 
                    " FROM TrackingLog " +
                    " WHERE createtime>=@begin AND createtime<=@end " +
                    "EXISTS (SELECT * FROM NocGeo WHERE noccode2  LIKE '%(SUBSTR (TrackingLog.portcode, 2, INSTR(c, ']')-1) )%' AND district=@district)" +
                    " GROUP BY DATE_FORMAT(statstime, '%Y-%m-%d')";但是会报错。事实上是这样的,
    表一:TrackingLog
    portcode District
    [123]  徐汇
    [234]  黄浦
    [238]  黄浦
    [321]  闵行表二:NocGeo
    id   code
    1    wy123
    2    fg234
    3    qb321
      

  2.   

    少写了个and吧
     " and EXISTS (SELECT
      

  3.   

    至少 LIKE '%(SUBSTR (TrackingLog.portcode, 2, INSTR(c, ']')-1) )%'
    应写作
    LIKE concat('%','SUBSTR(TrackingLog.portcode, 2, INSTR(c, ']')-1),'%')
    但又不知道 INSTR(c, ']')-1 中的 c 是从哪里来的
    所以还是写作
    LIKE concat('%','SUBSTR(TrackingLog.portcode, 2, INSTR(TrackingLog.portcode, ']')-2),'%')
    比较稳妥