쿼리하나봐주세요 초보라 머리가 아파요

쿼리하나봐주세요 초보라 머리가 아파요

QA

쿼리하나봐주세요 초보라 머리가 아파요

본문

a필드

b필드

가있으면

a필드는 ok만 가저오고 b필드는 1이라는 값과

오늘 날짜의 2까지 가지고 왔으면 좋을것 같은데요

이걸 한번의 select의 가저올수 있을까요?

고수님들 도와주세요

이 질문에 댓글 쓰기 :

답변 2

select a, b, substr(curdate(),1,2) as today2c from table

where a = 'ok' and b = '1'

 

이렇게 하면될것같은데

조건이 좀 모호합니다.

두개의 조건이 참이어야하면 and이고

둘중하나의 조건이면 or 로 변경하시면되고

그게 아닌 컬럼의 값이 조건이면 좀 달라지긴합니다.

위 select문을좀 설명해주실수 있을까요?
제가 질문을 좀 모호하게 쓴건가요? 다시 정리하면
a필드 b딜드값을 가저오는데
a는 ok값을 b는 in값과 rt값을 가저와야 하는데 in은 무조건 rt는 오늘 날짜에 해당하는값만 가저와야 합니다
제가 숫자로 적아서 쫌 그렜나봐요 다시함 봐주세용 감사합니다.



쿼리를 작성하는데있어서
추출 조건자체가 매우 모호하게 말씀하고 계시네요

where 이하에는 조건이 들어가는게 맞고

select로 컬럼들을 나열하는데

지금의 조건은
rt  = 오늘날짜
a = ok 만 있어야하면서 b 가 in, rt만 있어야 한다는것인가요?
rt 가 오늘날짜에 해당되는것인데
todate 필드는 어떤용도인가요?
todate를 제외하면

select a, b from table
where date(rt) = curdate()
and a = 'ok'
and b in ('in','rt')

이렇게 작성하면될것같네요

제가 그렇게 모호하게 질문드렸나요? 죄송합니다.
질문드린내용을 다시 설명하면
테이블이 table, 필드는 ap, bp, tp 3개가 있다면
ap는 no, ok를 담고있고
bp는 in, rt, ex를 담고있고
tp는 0000-00-00 00:00:00 형태의 날짜를 담고있습니다.
 
ap의 내용중 ok인것 무조건
bp의 내용중 in과 rt인것
그런데
bp의 내용중 rt는 tp의 날짜에서 오늘에 해당하는 것만
가저오는게 목적입니다.
제가 풀수 있는 최대한을 해석해본 것입니다.
내용전달이 모호했으면 진심으로 죄송합니다.
저는 쉽게 적는다고 한근데 죄송합니다.
자세히풀면 위와같습니다.
시간내셔러 봐주는건데 개속 번거롭게 해드려죄송합니다.
마지막으로 한번만 더 부탁드립니다.


//ap의 내용중 ok인것 무조건
//bp의 내용중 in과 rt인것
//그런데
//bp의 내용중 rt는 tp의 날짜에서 오늘에 해당하는 것만

select * from table
where ap = 'ok'
and (bp = 'in' or (bp = 'rt' and date(tp) = curdate()) )



로 풀면 될것같아보입니다.

초보는 이상하게 쉽게 질문 하는 것 자체가 어렵나 보더군요

그리고 쿼리문도 php에서 실행 할 것인지 아닌지 까지 질문을 상세하게 해야 답변도 앋기 쉽겠죠 

php에서 사용할 것이 아니라면 또 질문을 다시 해야할테죠

 

ap가 ok이고 bp가 rt이고 tp가 오늘 날짜인 것과

ap가 ok이고 bp가 in 인 것을 추출한다 그런 내용 같네요

 

php

$today = date("Y-m-d");

$sql ="select * from table where (ap='ok' and bp='rt' and INSTR(tp ,'$today') ) or (ap='ok' and bp='in' )";

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,638 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT