테스트 사이트 - 개발 중인 베타 버전입니다

join 질문드립니다 채택완료

김준수사랑 5개월 전 조회 993

free 자유게시판이 있는데 text 필드를 많이 추가해야 해서 

free_data 만들고 여기에 text 필드를 많이 추가했습니다

로그인한 사용자들에게는 free_data 필드를 같이 불러와서 뿌려줘야하는데요

 

아래처럼 해보고 있는데 안되네요;;;

select *,(select content1, content2, content3,content4 from g5_write_free_data where wr_id=wr_id) from g5_write_free order by wr_num desc limit 0,10

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
5개월 전

</p>

<p>SELECT a.*, b.content1, b.content2, b.content3, b.content4</p>

<p>FROM g5_write_free a</p>

<p>LEFT JOIN g5_write_free_data b ON a.wr_id = b.wr_id</p>

<p>ORDER BY a.wr_num DESC</p>

<p>LIMIT 0, 10</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

김준수사랑
5개월 전
답변감사합니다 그런데..
b.content1, b.content2, b.content3, b.content4 이것들 안쓰고 * 이걸로 가져올순 없나요?
가져올 필드가 좀 많아서요;;
미니님a
5개월 전
[code]
SELECT a.*, b.*
FROM g5_write_free AS a
LEFT JOIN g5_write_free_data AS b
ON a.wr_id = b.wr_id
ORDER BY a.wr_num DESC
LIMIT 0, 10;
[/code]
김준수사랑
5개월 전
자꾸 질문 드려서 송구한데요;;;
SELECT a.*, b.* 이렇게 했더니 b 테이블에 데이터가 없으면 a 테이블값도 안나오네요;;
b테이블에는 데이터가 없는것도 있어서요
a테이블은 무조건 다 나와야하거든요
미니님a
5개월 전
[code]
$columnQuery = "SELECT GROUP_CONCAT(CONCAT('b.', COLUMN_NAME) SEPARATOR ', ') as column_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'g5_write_free_data'
AND TABLE_SCHEMA = '데이터베이스이름작성'";

$result = mysqli_query($conn, $columnQuery);
$row = mysqli_fetch_assoc($result);
$bColumns = $row['column_list'];

$finalQuery = "SELECT a.*, {$bColumns}
FROM g5_write_free a
LEFT JOIN g5_write_free_data b ON a.wr_id = b.wr_id
ORDER BY a.wr_num DESC
LIMIT 0, 10";
[/code]

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인