例 
 一;
   SELECT 
      A,B,C,D
   FROM
      FIRST
 二;
   SELECT
     E,F,G,H
   FROM
     SECOND
   WHERE 
     SECOND.X IN (FIRST.B)
  三;
    大家帮忙的SQL现在我想得到这样的结果;如果一中的B不等于99999
那么结果的SQL结果就同一的样子一样
 如果B等于 99999
  那么 得到的结果就是 
     A,B,G,H作为输出结果。
也就是说,根据 一中的B的不同情况 一要和二进行结合查询/十万火急

解决方案 »

  1.   

    不太明白。
    case b = 99999
       SELECT 
          A,B,C,D
       FROM
          FIRSTcase b <> 99999
       SELECT
         A,B,G,H
       FROM
         FIRST, SECOND这样子?
      

  2.   

    根据
       SELECT 
          A,B,C,D
       FROM
          FIRST
    检索出来的结果集合来判断时候继续执行
     SELECT
         E,F,G,H
       FROM
         SECOND
       WHERE 
         SECOND.X IN (FIRST.B)如果 frist结果集中的 b不等于99999那么 就要继续执行second
    。如果b
    等于99999那么就不执行second
    我想得出一个有这样功能的sql文
    明白了吗 
      

  3.   

    SELECT
         E,F,G,H
       FROM
         SECOND
       WHERE 
         SECOND.X IN (FIRST.B)這個語句是否執行,依據是SELECT 
          A,B,C,D
       FROM
          FIRST查詢下來的b的值是否=99999
    是這樣的意思嗎?
      

  4.   

    根据
       SELECT 
          A,B,C,D
       FROM
          FIRST
    检索出来的结果集合来判断时候继续执行
     SELECT
         E,F,G,H
       FROM
         SECOND
       WHERE 
         SECOND.X IN (FIRST.B)我想得到的结果集合是
      SELECT
         A,B,C,D,CASE WHEN FIRST.B = 9999 THEN NULL ELSE SECOND.E,F,G,H
      这样的结果集合
    但是要根据上边的两个SQL