1. guostong(笨驴) 好像说得不错.
不过上面那句话有必要那么复杂马
2.设置了全文检索了马
3.好像没问题

解决方案 »

  1.   

    "select Z1.*,Z2.* from (Select code as qq From userr) as z1,(Select code AS CODE1 ,name AS I_NAME From payway) as z2 where z1.qq = z2.code1";
    其实,没有这吗麻烦!你可以这样
    SELECT A.CODE,B.NAME,B.CODE FROM USERR AS A,PAYWAY AS B WHERE A.CODE=B.CODE
    第二个问题是
    要用 % 号不要用*
    第三个语法没有问题
      

  2.   

    可能是我没有说清楚.
    1.是用于子查询的表达式.
    2.运行的结果是 "表达式中的 'CHARINDEX'函数未定义"
    3.运行的结果是 "表达式中的 'substring'函数未定义"
      

  3.   

    那你在sql server的分析器里面可以吗?如果可以!就是说你的前台有问题!你还是自己想一想
      

  4.   

    在sql server的分析器里面完全没有问题,
    前台我用的是VC++的DAO环境,其语句结构如下:
    CDaoRecordset *m_xx;
    m_xx = new CDaoRecordset(pApp->m_pDatabase);  // pApp->m_pDatabase为指向SQL server的数据库指针
    CString sqlSelect = "Select * From userr where substring(code,1,1)='A%'";
    m_xx = pApp->OpenTable(m_xx,pApp->m_pDatabase,sqlSelect);
        其结果无正确内容返回.
      

  5.   

    那就地vc和ado问题不是我的问题了
      

  6.   

        现在看来,可能是在用
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS;Description=SQL Server;DATABASE=mdbc;UID=Administrator;PWD=;");
        或
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS");
    打开数据库时VC++并未识别出数据库类型为SQL Server的问题.用它去定义的CDaoQueryDef的类型 ii = m_query ->GetType(); 均为 0 ,因此VC++中仍然按照ACCESS的规则去解释语句.ww1007老兄能否帮我看看如何解决它的"认识"问题呢?
      

  7.   

        现在看来,可能是在用
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS;Description=SQL Server;DATABASE=mdbc;UID=Administrator;PWD=;");
        或
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS");
    打开数据库时VC++并未识别出数据库类型为SQL Server的问题.用它去定义的CDaoQueryDef的类型 ii = m_query ->GetType(); 均为 0 ,因此VC++中仍然按照ACCESS的规则去解释语句.ww1007老兄能否帮我看看如何解决它的"认识"问题呢?
      

  8.   

    你的这句话有问题
    CString sqlSelect = "Select * From userr where substring(code,1,1)='A%'";
    substring(code,1,1)='A%'不应该加'%'你用的是'=' 不是'like'这样你当然查不出结果。    
      

  9.   

    你的第一条语句不必这么麻烦嘛!而且肯定是不对了。
    我认为可以下是以下的格式:
    1、CString sqlSelect = "select (写明你要显示的字段归属于那个表的,一定要具体) from payway left join userr on payway.code = payway.code.
    2、模糊查询在SQL Server中的用法应是:
      Select ... from ... where ... Like '%...%'
    3、无返回的这个语句可以改为:
     sqlSelect = "Select * From operate where code Like '1%'";
    这样的话,它就能够显示出你想要查找的结果了!
        
      

  10.   

    宝兰
    谢谢加入讨论.
    1.是SQL Server 中的子查询,反复试验过.是正确的.(用于统计中很有用的).
    3.目前在我的程序中仍无结果.我估计还是我的DAO配置有错误.  打开CDaoDataBase用的是
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS;Description=SQL Server;DATABASE=mdbc;UID=Administrator;PWD=;");
        或
        m_pDatabase->Open("",FALSE,FALSE,"ODBC;DSN=MQIS");  打开CDaoRecordset用的是
        m_xx = new CDaoRecordset(pApp->m_pDatabase);
        CString sqlSelect = (_T("Select * From userr where code Like '%01%'"));
     
        m_xx->m_pDatabase = m_pDatabase;
        m_xx->Open(dbOpenDynaset,sqlSelect);
    请你一起再帮我查查原因.十分感谢
      

  11.   

    现在没有人用dao了!现在都是ado!我一前也是用dao发展了!
      

  12.   

    呵呵,班主试着回答一下:
    1,as 不要。
    ........(Select code as qq From userr) z1....
    2,3,charindex和substring是sql server扩展的函数。不包括在odbc的dao里。
    所以你得换一种写法。charindex,好象没有现成的函数。substring改成substr试试。