집 >데이터 베이스 >MySQL 튜토리얼 >알 수 없는 열 이름을 사용하여 MySQL에서 동적 크로스탭 쿼리를 만드는 방법은 무엇입니까?
알 수 없는 열이 있는 동적 MySQL 크로스탭
MySQL에서 기존 크로스탭 쿼리는 쿼리 준비 중에 열 수와 이름을 수정해야 합니다. . 그러나 동적 크로스탭 쿼리의 경우처럼 열 개수를 알 수 없는 경우에는 다른 접근 방식이 필요합니다.
애플리케이션 코드 작성과 관련된 두 가지 기본 솔루션이 있습니다.
1. 고유 값 쿼리 및 쿼리 구성:
예:
<code class="php">foreach ($pdo->query("SELECT DISTINCT `way` FROM `MyTable`") as $row) { $way_array[] = "MAX(IF(`way`=$way, `time`)) AS way_$way"; } $pivotsql = "SELECT stop, " . join(",", $way_array) . " FROM `MyTable` GROUP BY `stop`";</code>
2. 코드에서 행별 쿼리 및 피벗:
예:
<code class="php">$stoparray = array(); foreach ($pdo->query("SELECT * FROM `MyTable`") as $row) { $stopkey = $row["stop"]; if (!array_key_exists($stopkey, $stoparray)) { $stoparray[$stopkey] = array("stop" => $stopkey); } $waykey = "way_" . $row["way"]; $stoparray[$stopkey][$waykey] = $row["time"]; }</code>
이러한 접근 방식 중 하나를 사용하면 열 수를 알 수 없는 경우에도 MySQL에서 동적 크로스탭 쿼리를 수행할 수 있습니다. , 유연성을 지원하고 진화하는 데이터 구조를 수용합니다.
위 내용은 알 수 없는 열 이름을 사용하여 MySQL에서 동적 크로스탭 쿼리를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!