Q&A

  • 쿼리좀 봐주세요..^^;
  Q1 := TQuery.Create(self);
  Q1.DataBaseName := Stockmain.AliasName;
  Q1.sql.Clear;
  Q1.sql.Add('Select Num from stock where Num in (select max(Num) from Stock)');
  Q1.Open;
  MNum := Q1.FieldByName('Num').AsInteger;
  Q1.Close;
  Q1.Free;

위에서는 지금 Num의 최대값만 읽어온느데요..만약에 또하나의 필드값의
최대값(예를 들어 Num2필드) 도 읽어오려면 쿼리문을 어떻게 만들어야 하나요?
또다시 TQuery를 Create해줘야하는지 아님 Select문에 복합적으로 쓸수있는지가 궁금합니다. DB는 파라독스를 사용합니다..
2  COMMENTS
  • Profile
    하얀까마귀 2002.06.27 02:13
    안녕하세요 하얀까마귀 입니다.

    왜 서브커리를 쓰셧죠? 이렇게 해야될 이유가 잇는가요??

    커리만 복잡해지고... 별로 좋아보이진 않네요..

    프로그램 구조적으로 잘되어있는 쿼리라 할지라도. 실제로 동작할때보면..

    무식한(??) 쿼리가 오히려 잘되어있는 쿼리다 라는 말이 있죠.. ㅋㅋ 별로
    맘에 안들지만... ^^

    그냥 간단히.. select max(num) from stock 하시면 되죠..
    그리고 두개를 원하시면
    'select max(num) as num1 , max(num2) as num2 from stock'
    하시면 됩니다. 그럼..

    - 하얀까마귀 -

  • Profile
    버섯 2002.06.26 22:08
    그렇게 코딩한 특별한 이유라도 있나요?

    select MAX(NUM)NUM,MAX(NUM2)NUM2
    FROM STOCK

    이렇게 하심 되는데..