database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4702 게시물 읽기
No. 4702
데이블 조건
작성자
산적
작성일
2009-04-02 01:25
조회수
6,119

sql = " SELECT Z.매출미결재, A.납품일자, A.내용 "

sql = sql & " FROM (SELECT 비비테이블.납품일자, 비비테이블.내용 FROM 비비테이블) as A ,"

sql = sql & " (SELECT  sum(iif(매출입지=1,영업테이블.결재액,0)))) as 매출미결재  FROM 영업테이블 where 영업테이블.납품일자 =#"&setday&"#) AS Z "


최대한 줄여서 올렸습니다

a테이블에서 생성된 납품일자를 z테이블 안에 조건문 (#"&setday&"#)에 적용시키고 싶은데요.
A.납품일자 를 넣어도안되고 하여간....

잘안되네요..
부탁드려요
 

이 글에 대한 댓글이 총 4건 있습니다.

정확히 몰라서 좋은 방법을 알려드리진 못하지만,

SELECT Z.매출미결재, A.납품일자, A.내용
  FROM
 (SELECT 비비테이블.납품일자, 비비테이블.내용 FROM 비비테이블) as A
 (SELECT  sum(iif(매출입지=1,영업테이블.결재액,0)))) as 매출미결재  FROM 영업테이블 where 영업테이블.납품일자 = #"&setday&"#  ) AS Z

= #"&setday&"# 대신 

in (SELECT 비비테이블.납품일자 FROM 비비테이블) 이렇게 하면 원하는 결과가 나올것 같네요.

이런식으로...

SELECT Z.매출미결재, A.납품일자, A.내용
  FROM
 (SELECT 비비테이블.납품일자, 비비테이블.내용 FROM 비비테이블) as A
 (SELECT  sum(iif(매출입지=1,영업테이블.결재액,0)))) as 매출미결재  FROM 영업테이블 where 영업테이블.납품일자 in (SELECT 비비테이블.납품일자 FROM 비비테이블)  ) AS Z

허접한 답변이 도움이 되셨길...

조정래(jungrae4)님이 2009-04-02 09:52에 작성한 댓글입니다.

답변감사하구요..


다시질문


SELECT Z.매출미결재, A.납품일자, A.내용

  FROM

 (SELECT 영업테이블.납품일자, 영업테이블.내용 FROM 영업테이블) as A

 (SELECT  sum(iif(매출입지=1,영업테이블.결재액,0)))) as 매출미결재  FROM 영업테이블 where 영업테이블.납품일자 = a.납품일자  ) AS Z





보기쉽게 sql 을 줄인거구요.


a테이블에서 나오는 납품일자를 


z테이블 조건에다가 넣으려고 하거던요..


부탁드려요

산적님이 2009-04-02 13:27에 작성한 댓글입니다.
이 댓글은 2009-04-02 13:28에 마지막으로 수정되었습니다. Edit

A 테이블이랑 Z테이블이랑 같은 테이블(영업테이블)이네요?


내용 컬럽에 값이 어떻게 들어가는지는 모르겠지만,


올려주신 쿼리를 보니, 어차피 내용이 다르면 납품일자가 같아도 내용때문에 따로 보여줘야 하는것 같은데

예를 들면,

일자  / 내용 / 결제액

2009-04-01 / 구매 / 100

2009-04-01 / 판매 / 200

일 경우 하나로 보여주지 않고 2개로 보여주는 상태인것 같은데요.


그러면 굳이 from에서 2번 쿼리 할 필요없이 group by로 한번만 쿼리 하면 될것 같은데요.


select sum(CASE WHEN 매출입지 = 1 THEN 결제액 Else 0 End), 납품일자, 내용

  from 영업테이블

 group by 납품일자, 내용


내용 컬럼을 보여줘야 하기 때문에, 내용이 row마다 다르게 입력된 경우 어쩔수 없이

다르게 입력된 row만큼 나올수 밖에 없는 구조네요. 


도움이 되셨길...

조정래(jungrae4)님이 2009-04-03 10:30에 작성한 댓글입니다.

답변감사합니다

제가 질문을 잘못드렸군요



a테이블에 내용 컬럼이 다 틀리기때문에 다 나와야하구요

그래서 합계를 z테이블에서 구해서 내용뒤에다 붙이는 건데


a테이블에서 납품일자를 구해서 z 테이블에 조건에 대입해서

각각 날짜까지의  합계를 구하려고 하는거지요.


제가 영초보라 A테이블에서 나온 납품일자를 Z테이블에 대입시켜야하는데 그게 잘안되네요..


A.납품일자를 Z테이블(#" & deliv_day & "# )에 대입하려고 합니다










sql = " SELECT a.납품일자,A.내용처음,(z.매입미결재) as 매입미결재 "

sql = sql & " FROM [SELECT 영업테이블.고객아이디,영업테이블.영업아이디 , 영업테이블.원금, 영업테이블.매출액, 영업테이블.결재액, 영업테이블.납품일자, 영업테이블.서비스, 영업테이블.메모, First(비비테이블.내용) AS 내용처음, 매출입지테이블.분류명 FROM 매출입지테이블 INNER JOIN (영업테이블 LEFT JOIN 비비테이블 ON 영업테이블.영업아이디 = 비비테이블.영업아이디) ON 매출입지테이블.분류코드 = 영업테이블.매출입지 WHERE (((영업테이블.고객아이디)="&Cid&")) GROUP BY 영업테이블.고객아이디,영업테이블.영업아이디, 영업테이블.원금, 영업테이블.매출액, 영업테이블.결재액, 영업테이블.납품일자, 영업테이블.서비스, 영업테이블.메모, 매출입지테이블.분류명]. as a ,"

sql = sql & " [SELECT  ((sum(iif(매출입지=2,영업테이블.원금,0)))-(sum(iif(매출입지=2,영업테이블.결재액,0)))) as 매입미결재,  FROM 영업테이블 where 영업테이블.납품일자 between #" & tlwkrdlf & "# and #" & deliv_day & "# and 영업테이블.고객아이디="&cid&"]. AS Z"


"

산적님이 2009-04-03 11:09에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4707DB서버가 3~4일만 지나면 죽어버립니다. [1]
한석
2009-04-05
6415
4704한방쿼리 조언 부탁드립니다. [1]
초보
2009-04-02
5709
4703toad for sql server 디버깅 되나요??
진우
2009-04-02
6490
4702데이블 조건 [4]
산적
2009-04-02
6119
4701두 테이블에서 값을 참조하여 복사하기... 어흑흑....ㅠㅠ [3]
성제호
2009-04-01
6010
4700친구 - 친구 - 친구 - 친구 -,... 관계
정원식
2009-04-01
5969
4699작업스케줄러 실행여부를 알수 있을까요?
neverdie1016
2009-04-01
7066
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다