다중 테이블 선택 질문
본문
$sql = "SELECT wr_1 FROM {$g5['write_prefix']}test ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
echo $row['wr_1']
}
정상출력 가능
여기서 게시판 test2도 같이 적용하고 싶어서 해봤는데
$sql = "SELECT wr_1 FROM {$g5['write_prefix']}test,test2 ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
echo $row['wr_1']
}
안됨
$sql = "SELECT wr_1 FROM {$g5['write_prefix']}test,{$g5['write_prefix']}test2 ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
echo $row['wr_1']
}
안됨
혹시 뭐가 문제일까요?ㅠㅠ
답변 4
$sql = "SELECT A.wr_1 as wr_1a, B.wr_1 as wr_1b FROM {$g5['write_prefix']}test A, {$g5['write_prefix']}test B ";
SQL, PHP 기본 문법을 공부 안 하신 게 가장 큰 문제네요. ㅎ
귀찮겠지만 전체 코드를 2번 쓰거나 반복문 이용해 각 게시판에 대해서 돌려 주셔야 합니다..
PS.
AI가 아래 코드 적어줬지만, 예전 확인 당시 UNION 작동 안 됐습니다. 아마 지금도 작동 안 될 듯... 한번 되는지는 확인해 보세요. 만약 되면 아래 코드 쓰시면 됩니다.
$sql = "
SELECT wr_1 FROM {$g5['write_prefix']}test1
UNION
SELECT wr_1 FROM {$g5['write_prefix']}test2
UNION
SELECT wr_1 FROM {$g5['write_prefix']}test3
";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
echo $row['wr_1'];
}
$sql = "SELECT wr_1 FROM {$g5['write_prefix']}test,test2 "; 이것은 올바르지 않아보이네요
다중 테이블에서 데이터를 선택하려면 `JOIN` 절을 사용해야 합니다. 다음과 같이 수정하세요.
$sql = "SELECT wr_1 FROM {$g5['write_prefix']}test JOIN {$g5['write_prefix']}test2 ON {$g5['write_prefix']}test.wr_id = {$g5['write_prefix']}test2.wr_id";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
echo $row['wr_1'];
}
!-->