次のように、php ページで 2 つの select ステートメントを使用しています。
$num1 = mysql_query("SELECT SId FROM mtable WHERE Pathogen='$pathogen1' && Topic='$topic1' && Indicator='$ind1' && IndicatorSubGroup='$subind1' ");
と
$num2 = mysql_query("SELECT SId FROM mtable WHERE Pathogen='$pathogen2' && Topic='$topic2' && Indicator='$ind2' && IndicatorSubGroup='$subind2' ");
現在、結果は次のように別々の while ループを使用して表示されます
while($nval= mysql_fetch_array($num1))
{
$vv=$nval['SId'];
$result = mysql_query("SELECT * FROM mtable WHERE SId='$vv'");
while($row = mysql_fetch_array($result))
{
print "<tr height='18'>";
print "<td width=200 align=left>" . $row['Country'] . "</td>";
print "<td width=70 align=center>" . $row['MidEstimate'] . "</td>";
print "<td width=70 align=center>" . $row['LowEstimate'] . "</td>";
print "<td width=70 align=center>" . $row['HighEstimate'] . "</td>";
print "<td width=89 align=center>" . $row['StudyLocation'] . "</td>";
print "<td width=139 align=center>" . $row['ReferenceID'] . "</td>";
print "<td width=89 align=center>" . $row['Quality'] . "</td>";
print "<td width=89 align=center>" . $row['Relevance'] . "</td>";
print "<td width=61><a href='/sites/default/files/popupboxCD.php?SId=$vv' onClick='openpopup(this.href);return false;'>".$row['Info']."</a></td>";
print "</tr>";
print "<tr height='1'><td colspan='9' style='padding:0'><hr size='0.5' color='#CCCCCC' noshade='noshade' /></td></tr>";
}
}
と
$num2 = mysql_query("SELECT SId FROM mtable WHERE Pathogen='$pathogen2' && Topic='$topic2' && Indicator='$ind2' && IndicatorSubGroup='$subind2' ");
print $num2;
print "<table border='0' width='875' align='center'>
<tr><td colspan=5 height=10></td></tr>
<tr>
<td width='200' bgcolor='#99CCF5' align='center'><b>Country</b></td>
<td width='70' bgcolor='#99CCF5' align='center'><b>Mid</b></td>
<td width='70' bgcolor='#99CCF5' align='center'><b>Low</b></td>
<td width='70' bgcolor='#99CCF5' align='center'><b>High</b></td>
<td width='89' bgcolor='#99CCF5' align='center'><b>Study Location</b></td>
<td width='139' bgcolor='#99CCF5' align='center'><b>Reference</b></td>
<td width='89' bgcolor='#99CCF5' align='center'><b>Quality</b></td>
<td width='89' bgcolor='#99CCF5' align='center'><b>Relevance</b></td>
<td width='61' ></td>
</tr>";
while($nval= mysql_fetch_array($num2))
{
$vv=$nval['SId'];
$result = mysql_query("SELECT * FROM mtable WHERE SId='$vv'");
while($row = mysql_fetch_array($result))
{
print "<tr height='18'>";
print "<td width=200 align=left>" . $row['Country'] . "</td>";
print "<td width=70 align=center>" . $row['MidEstimate'] . "</td>";
print "<td width=70 align=center>" . $row['LowEstimate'] . "</td>";
print "<td width=70 align=center>" . $row['HighEstimate'] . "</td>";
print "<td width=89 align=center>" . $row['StudyLocation'] . "</td>";
print "<td width=139 align=center>" . $row['ReferenceID'] . "</td>";
print "<td width=89 align=center>" . $row['Quality'] . "</td>";
print "<td width=89 align=center>" . $row['Relevance'] . "</td>";
print "<td width=61><a href='/sites/default/files/popupboxCD.php?SId=$vv' onClick='openpopup(this.href);return false;'>".$row['Info']."</a></td>";
print "</tr>";
print "<tr height='1'><td colspan='9' style='padding:0'><hr size='0.5' color='#CCCCCC' noshade='noshade' /></td></tr>";
}
}
これらの 2 つのテーブルを 1 つのテーブルにマージする方法があるかどうか知りたいです。
結果は次のようになります。
Value1(両方のクエリに共通。例: 国)、Value2(最初のクエリから)、Value2(2 番目のクエリから)
mysql には、両方のクエリが結果を表示する単一のテーブルしかありません。
私の質問がすべてを混乱させて申し訳ありません。私は Lotus Notes 開発者であり、PHP ではありません。したがって、私はSQLの初心者ユーザーにすぎません。
ここで、もう一度クエリを繰り返します...
現在、1 つのテーブルからの 2 つのクエリの結果を 2 つのテーブルに表示しています。これらの結果を 1 つのテーブルにまとめたいですか?
つまり、新しいテーブルには 3 つの列が必要です。最初に両方のテーブルから共通の値を、最初のテーブルの 2 番目の列から 2 番目の列を、2 番目のテーブルの 2 番目の列から 3 番目の列を使用します。新しいテーブルの 2 番目と 3 番目の列は、メインの mysql データから同じ列のデータを表示しています。
すべての提案に感謝します。私はこれを自分で試して、成功したらここに投稿します。