SELECT 	
	TA.aaa,
	TB.bbb
FROM 
(	
    SELECT 
      @rownum:=0 as rownum,
      aaa
    FROM Table_A
) TA
INNER JOIN 
(	
    SELECT 
      @rownum:=0 as rownum,
      bbb
    FROM Table_B
)TB
ON TA.rownum = TB.rownum

1. FROM 과 JOIN 절에서 SELECT 문으로 테이블 만들기 - rownum 조회

2. ON절에서 rownum으로 묶어주기

 

연결고리가 없는 Table_A, Table_B

 

JOIN 결과

 

'ORACLE' 카테고리의 다른 글

방금 Insert한 시퀀스 번호 가져오기 (프로시저)  (0) 2020.12.11

먼저 masterdomon.tistory.com/5 를 참고하여 C#코드를 JAVA로 변형했다는 것을 알려드립니다.

 

JAVA로 구현한 trend 함수로 두 가지의 결과를 만들 수 있음

1. trend 함수를 이용해 예상값 찾기

2. 추세선 그래프 그리기

 

1. trend 함수를 이용해 예상값을 찾는 코드

function trend(arr, arr2, constVal) {
	var numPoints = arr2.length;
	var x1 = 0;
	var y1 = 0;
	var xy = 0;
	var x2 = 0;
	var J, M, B;
    
	for (var i=0; i<numPoints; i++){
    		x1 = x1 + Number(arr[i]);
    		y1 = y1 + Number(arr2[i]);
    		xy = xy + Number(arr[i]) * Number(arr2[i]);
    		x2 = x2 + Number(arr[i]) * Number(arr[i]);
	}

	M = 0;
	B = 0; 
	J = (numPoints * x2) - (x1 * x1);

	if (J != 0){
    		M = ((numPoints * xy) - (x1 * y1)) / J;
		B = ((y1 * x2) - (x1 * xy)) / J;
	}

	result = ((M * constVal) + B).toFixed(1);

	return result;
}

trend(arr, arr2, constVal);

arr : x축에 해당하는 값 (배열)

arr2 :  y축에 해당하는 값 & 구하고 싶은 값이 해당하는 필드 (배열)

constVal : 예상값(y)을 구하기 위한 상수(x)

result : 예상값(y)

 

 

2. 추세선 그래프 그리는 코드

function trend(arr, arr2) {
	var numPoints = arr2.length;
	var x1 = 0;
	var y1 = 0;
	var xy = 0;
	var x2 = 0;
	var J, M, B;
	var result = [];

	for (var i=0; i<numPoints; i++){
		x1 = x1 + Number(arr[i]);
		y1 = y1 + Number(arr2[i]);
		xy = xy + Number(arr[i]) * Number(arr2[i]);
		x2 = x2 + Number(arr[i]) * Number(arr[i]);
	}
	M = 0;
	B = 0; 
	J = (numPoints * x2) - (x1 * x1);

	if (J != 0){
		M = ((numPoints * xy) - (x1 * y1)) / J;
		B = ((y1 * x2) - (x1 * xy)) / J;
	}

	for(var i=0; i<arr.length; i++){
		result.push( ((M * arr[i]) + B).toFixed(1) );
	}

	return result;
}

arr : x축에 해당하는 값 (배열)

arr2 :  y축에 해당하는 값 & 구하고 싶은 값이 해당하는 필드 (배열)

result : 추세선 위의 x에 해당하는 y (배열)

 

y값들을 배열로 리턴해주기 때문에 arr에 들어간 x값과 짝을 지어 그래프를 만들어주면 됨

'ORACLE' 카테고리의 다른 글

연결고리 없는 테이블 JOIN 하기 (rownum 사용)  (0) 2021.03.31

[문제]

로컬호스트 주소에서 aws 서버주소로 네아로의 서비스 URL / Callback URL을 바꾸고

서비스 URL / Callback URL / 코드의 Callback URL에 오류가 없는데도 자꾸 네아로가 안 되는 현상 발생함ㅠㅠ

내 경우엔 특정 포트를 안 열어서 생긴 문제였다.

네이버의 경우 80(http), 443(https) 포트를 쓰는데 AWS에서 이 번호를 열어두지 않아서 생긴 문제였음.

 

[해결] 

AWS에서 80(http), 443(https) 포트를 열어 해결하였음.

근데 이상한 게 바꾼 다음에 바로 되지 않고 시간이 좀 지난 다음에 정상작동 되었음 (뭘까 대체...)

포트 연 다음에도 잠깐 안 돼서 이것도 아닌가!!!!!!!! 대체 원인이 뭐냐!!!!!!!!!!! 하고 있었는데

좀 지난 다음에 됨 (?)

어쨌든...포트번호를 확인하는 게 하나의 방법이 될 수 있다는 것...;;

[문제]

로그인 시 아이디나 비밀번호가 틀렸을 때 알림만 뜨고 화면은 머물러야 하는데 자꾸 화면이 넘어갔다.

(원래 계획대로라면 JSON과 azax를 이용해 화면은 그대로인 채 정보만 주고 받아야 하는 상황)

[해결]

jsp파일의 <form> 과 <button>에 문제가 있었던 거였음.

<form> 안에 <button>이 있으면 액션이 두 번처리 되는 현상 발생.

---> <button>을 <form>밖으로 빼면서 해결함.

 

DB에 없는 아이디와 비밀번호를 입력하면

로그인 정보를 확인하라는 알림이 뜨면서

로그인창에 머물게 코딩을 해놓은 상태였음.

근데 JSON으로 넘겨준 메시지가 넘어간 화면에서 뜨는 문제가 발생.

 

<form>안에 <button>이 있어서 액션이 두 번 처리 됐던 것.

<form></form> 바깥으로 <button>을 빼준다.

 

Fiddler라는 프로그램을 사용하면 액션이 두 번 처리된 것을 확인할 수 있다.

Fiddler에 대한 자세한 설명은 (https://goddaehee.tistory.com/164) 이 분의 블로그를 참조하면 좋다.

[문제]

Controller랑 Web 연결하는 테스트 중 NullPointerException이 떨어짐.

게시판의 내용을 엑셀다운 하는 메소드였는데 신기하게 파람도 잘 넘어가고 지정디텍토리에 파일도 내려옴.

근데 NullPointerException이 떠서 대체 무엇이 문제인가 싶었음.

 

[해결]

이전에 기본 틀을 만들고 그걸 복붙하는 형식으로 개발을 진행했는데

이전 테스트 코드에서 크롬,익플 브라우저에 따른 분기를 하는 코드가 그대로 살아있어서 문제를 일으켰던 거였음.

그 부분을 //주석처리 해주니 널포인트익셉션이 안 뜨고 잘 실행됨.

1. JUnit 테스트하고 오류 날 경우 Caused by : 를 먼저 읽는다. 

   그리고 그 아래의 클래스 파일을 찾아가 오류를 확인한다. 

2. (나의 경우) 브라우저 테스트를 안 하는데 브라우저 확인 코드 있었음 ---> 이부분 주석처리 함.

 

JUnit 테스트하고 오류 날 경우 Caused by : 를 먼저 읽는다. 그리고 그 아래의 클래스 파일을 찾아가 오류를 확인한다. 

 

브라우저 테스트가 아닌데 이 코드가 살아있어서 문제가 됨. 빨간 부분을 주석처리 해줬더니 해결됨.

[문제]

DAO, Service, Controller를 만들고 테스트를 하는 도중 JUnit 테스트에서 

java.lang.AssertionError Content type not set 에러가 남.

[해결]

Controller의 메소드 부분에 @ResponseBody 어노테이션을 붙여줘서 해결했다.

 

@ResponseBody를 붙여줌 (Controller 부분)

[나의 케이스]

1. 컬러립 사이트에서 디자인소스 받음 https://colorlib.com/wp/templates/
2. 내가 받은 디자인 https://colorlib.com/preview/theme/shotgear/
3. 디자인 내에 캐러셀이 이미 있었음.

4. 2초 간격으로 사진이 자동으로 넘어가게 하는 성정 추가하고 싶었음.

 

[기본 디자인]

대충 아래와 같이 생긴 기본 템플릿.

노란 부분에 내가 원하는 여러 장의 사진이 들어가길 원함.

+ 2초 간격으로 사진이 넘어갔으면 했음.

 

 

 

[코드 수정 내용]

1. 다른 부분의 캐러셀 코드를 뜯어서 원래 안경 쓴 사람 사진이 있던 위치에 넣음

2.  화면이 넘어가는 단락 찾아내서 그 부분을 이미지소스로 바꿔줌

3. 이미지는 이미지만 모아놓은 폴더 속에 넣음

4. 스크립트 부분에 동작을 넣어줌 (첨부사진 아래 자세히 설명)

화면이 넘어가는 단락 찾아내서 그 부분을 이미지소스로 바꿔줌

 

이미지는 이미지만 모아놓은 폴더 속에 넣음

 

스크립트 부분에 동작을 넣어줌

 

캐러셀 이미지가 들어갈 전체 div의 id 부분을 찾아넣음. (JSTL 활용함)

owlCarousel 캐러셀을 이용한 템플릿이어서 이렇게 설정해줌.

+ Recent posts