전체 글 46

쿼리문 질문입니다...

질문내용 한테이블에서 각각 달 1,2,3,월~ 12월까지의 금액을 구해서 평균을 구해야되는데요. SELECT ( ((SELECT SUM(pay) FROM pay WHERE admit = 'Y' AND admit_dt LIKE '%2011-11%') - SUM(out_pay))/10000000) AS pay FROM pay 제가 한번 이래저래 만들어본 쿼리이긴한데... 안쪽 select에 있는 날짜가 유동적으로 바뀌어야되는데 이걸 for문으로 돌리는 방법말고 쿼리문자체에서 해결하는 방법이 없는지 알고싶어 글을 남겼습니다. 답변내용 select DATA_FORMAT(admit_dt,'%Y-%m') as mdate, sum(pay)-sum(out_pay)/10000000 as mon_average from p..

php관련 2011.11.18

select sum()했는데 합계가 틀린이유?

질문내용 select sum(price) as price3 from smanage 위 쿼리를 통해 price항목의 합계를 구하는 쿼리를 날렸습니다. 값이 3,632, 나옵니다. price항목에 값들은 아래와 같습니다. 1,089,600 1,216,000 960,000 840,000 1,386,400 616,000 1,320,000 423,220 1,380,000 1,865,000 3,300,000 780,000 3,000,000 1,232,000 위값들을 모두 계산기로 더해보면 1900만 얼마 나옵니다 그런데 쿼리로 날려보면 값이 3632가 나옵니다. 왜 값이 틀리게 나올까여? 그리고 위 값들은 전부 뒤에 000으로 단위가 다붙는데 쿼리날려보면 뒤에 000들은 다 지워집니다. 해결방법아시는분?? 답변내용..

php관련 2011.11.18

홈페이지 내 친구(일촌)시스템 구현시.

질문내용 예를들어 A , B , C 가 있습니다. A -> B 에게 친구신청 (수락됨) A -> C 에게 친구신청 (대기중) B -> C 에게 친구신청 (수락됨) 상태일때 제가 생각한 db구성은 걍.. Tbl id1 id2 수락여부 날짜필드 정도로만 구성해서 로그인 한 아이디 가 A 일때 id1 ='A' or id2 ='A' 로 검색해서 수락여부 따라서 로그인 한 A 아이디가 아닌 수신자 아이디 혹은 신청자 아이디의 값으로 친구여부를 보여주려고 했거든요 근데 이게 검색부분에선 되게 비효율적인듯해서요.. 그전 구현해보신 분 계시면 DB구성틀 팁좀 부탁드립니다. 답변내용 흠.. 요번에 구현할일이 있어서 저도 고민해서 구현을 했봤는대요 전 신청테이블과 친구테이블을 두개를 만들어서 친구신청을 하면 신청테이블에 ..

php관련 2011.11.18

SELECT 조건에대해...

질문내용 초보가 질문하나 드려봅니다.. 쇼핑몰관련 시스템을 만들고 있습니다.. A라는 테이블이있고, 주문의 간단한 내용이 들어있고요,(주문자 수령자등) B라는 테이블은 해당주문의 상품리스트를 가지고 있습니다..(상품명 수량) 두 테이블은 tradecode 라는 값을 기준값으로 연결되어있습니다.. 제가 하고싶은것은 단품주문의 경우만 추려내는것입니다.. 쉽게말해 한가지 상품만 구매한 고객만 뽑아내고, 한가지이상 주문한 고객은 뽑지 않는것인데요.. 뭐 주문테이블을 루프돌면서 상품몇갠지 체크하고 하나인것만 배열에 넣는 그런 단순무식한 방법이 있긴하지만..뭔가 훨씬 효율적인 방법이 있을것 같아서 고수님들께 여쭤봅니다.. 조인을 어떻게 잘 사용하면 할수도 있을것 같은데 지식이 짧은지라^^; 한수부탁드립니다. 답변내..

php관련 2011.11.18

mysql 4 password 로 된것을 myswl 5 로 바로 바꿀수는 없나요?ㅠㅠ

질문내용 제가요. 예전 mysql4, php4 를 사이트를 mysql5, php5 로 업데이트 할려고 하거든요. 그런데 회원들 비번이 mysql password 형식으로 된거에요. 그래서 mysql5 에서 디비를 복구를 하고 로그인 하는데 안되어서 password 함수 비트수가 다르잖아요? 그래서 혹시나 하는 마음에 바로 꿀수 있는 팁이 있으시면 리플 좀 부탁 드립니다. 수고하세요. 답변내용 old_password 를 사용하시면 됩니다. 기존 패스워드를 where pass = password('$pass') 로 쓰셨다면 5 부터는 pass = old_password('$pass') 로 쓰시면 됩니다. old_passwords = 1 설정을 my.cnf에 추가하셔서 사용하시는 방법이 최적일듯 합니다. 시..

php관련 2011.11.18

varchar형의 필드 정렬, 도움 청합니다.

질문내용 늘, PHPSCHOOL에서 많은 도움을 받고 있고 고수님들의 조언에 감사 드리고 있습니다. 제가 애초에 DB구조를 잘못 짜는 바람에 애를 먹고 있습니다. A라는 테이블 B라는 필드에 아래와 같은 데이타 값이 있습니다. 28,000바로가기 31,000바로가기 8,000바로가기 21,000바로가기 20,000바로가기 문제는 이 B라는 필드 중간에 있는 가격 28,000/31,000/8,000/21,000/20,000 이 값을 기준으로 정렬을 하고 싶은데... 애초에 이 가격값을 독립된 필드에 입력되도록 DB를 짰다면 좋았겠지만, 지금은 어느 정도 데이타가 쌓인 상태라 이제와서 DB구조를 변경하기도 어려운 상태네요. 요약하자면, varchar형의 필드를 수정해서 중간의 있는 가격값을 int형으로 변환..

php관련 2011.11.18

order by로 정렬이 좀 까다로운데..고수님들 조언좀 부탁드립니다!

질문내용 현재 쿼리는 SELECT * FROM tableA ORDER BY cate ASC, type ASC, sort DESC cate | id | sort | type A | aa | 2 | 1 A | bb | 2 | 1 A | cc | 2 | 1 A | bb | 1 | 1 A | bb | 2 | 2 A | cc | 2 | 2 A | bb | 2 | 2 A | cc | 1 | 2 A | bb | 1 | 2 A | cc | 1 | 2 B | aa | 2 | 1 B | aa | 1 | 1 B | bb | 2 | 2 B | bb | 1 | 2 이렇게 나오는 상태입니다. 정렬조건은 1. cate ASC 2. type ASC 3. type이 1이면 sort DESC 4. type이 2이면 id ASC 후 so..

php관련 2011.11.18

count()로 얻은 숫자가 $QUERY에 담기면 어떻게되나요?

질문내용 if(!eregi("[^[:space:]]+", $key)) { $query= "select count(*) from $code"; } $result = mysql_query($query); if(!$result) { error("QUERY_ERROR"); exit; } $total_record = mysql_result($result,0,0); mysql_free_result($result); . . . 질문 : count()함수를 사용해 $query변수에 5를 저장합니다. 그리고 나서 $result = mysql_query($query); 에서 $result변수에 5를 반환합니다. 참이라면 $total_record = mysql_result($result,0,0); 저는 지금까지 $resul..

php관련 2011.11.18

JOIN 어렵네요......

질문내용 같은 문항에 대한 설문을 쿼리 해야 하는데, A 테이블엔 설문이 있고 B 테이블엔 결과가 있어요 여러사람이 A 테이블의 설문에 대해 B에 데이타가 쌓입니다. 11 항목만 설문에 응했네요. 22 는 아직 설문에 응하지 않았네요. A table key addr -------------------------------------- 11 서울 22 부산 B 테이블 key 주민번호 성명 --------------------------------------- 11 111111-2222222 홍길동 11 222222-3333333 이순신 11 444444-5555555 유관순 질문 ; key 로 두 테이블을 조인 하여 홍길동으로 로그인 하면 즉 name 변수가 홍길동이면 결과 key addr 주민번호 성명 ..

php관련 2011.11.18

DB INSERT하고서 primary_key값을 리턴받을수 있나요?

질문내용 MySQL을 사용하고 있습니다. 테이블의 구조는 다음과 같습니다. CREATE TABLE IF NOT EXISTS `testTable` ( `idx` int(11) NOT NULL auto_increment, `content` varchar(255) NOT NULL, PRIMARY KEY (`idx`), ) ENGINE=MyISAM DEFAULT CHARSET=euckr; 여기에서 만일 DB를 INSERT하고서 INSERT했던 idx값을 리턴받을수 있나요?? $query = "INSERT INTO testTable SET content='aaaa'"; 어떻게 방금 insert한 idx값을 가져올까요? ^^ 가르쳐주세용 답변내용 안녕하세요 $idx = mysql_insert_id(); mysql_..

php관련 2011.11.18