我有2个查询要从多个表中获取行。这些查询已经测试过,并返回我想要的行。
这是第一个查询。
select mst_province.provinsi as provinsi, mst_kab.kabupaten as kabupaten, form_kuesioner_pengelola.namasite as nama
from form_kuesioner_pengelola
join form_kuesioner_surveyor on form_kuesioner_surveyor.namalokasi = form_kuesioner_pengelola.namasite
join mst_province on mst_province.id_prov = form_kuesioner_pengelola.idprov
join mst_kab on mst_kab.id_prov = form_kuesioner_pengelola.idprov and mst_kab.id_kab = form_kuesioner_pengelola.idkab
group by form_kuesioner_pengelola.namasite
order by form_kuesioner_pengelola.idprov, form_kuesioner_pengelola.idkab
我在带有符号的表格中显示它们
echo "<tr> <th>No.</th> <th>Provinsi</th> <th>Kabupaten</th> <th>Namasite</th> <th>Form Manfaat</th> <th>Form Pengelola</th> <th>Form Surveyor</th> <th>status</th>";
while($row = mysqli_fetch_array($rdata)) {
echo "<tr>";
echo '<td>' . $no . '</td>';
echo '<td>' . $row['provinsi'] . '</td>';
echo '<td>' . $row['kabupaten'] . '</td>';
echo '<td>' . $row['nama'] . '</td>';
echo '<td>✅</td>';
echo '<td>✅</td>';
echo '<td>✅</td>';
echo '<td>complete</td>';
echo "</tr>";
$no++;
}
第二个
select mst_province.provinsi as provinsi, mst_kab.kabupaten as kabupaten, form_kuesioner_pengelola.namasite as nama
from form_kuesioner_pengelola
join mst_province on mst_province.id_prov = form_kuesioner_pengelola.idprov
join mst_kab on mst_kab.id_prov = form_kuesioner_pengelola.idprov and mst_kab.id_kab = form_kuesioner_pengelola.idkab
group by form_kuesioner_pengelola.namasite
order by form_kuesioner_pengelola.idprov, form_kuesioner_pengelola.idkab
我将它们显示在下表中
echo "<tr> <th>No.</th> <th>Provinsi</th> <th>Kabupaten</th> <th>Namasite</th> <th>Form Manfaat</th> <th>Form Pengelola</th> <th>Form Surveyor</th> <th>status</th>";
while($rowtable = mysqli_fetch_array($rdatatable)) {
echo "<tr>";
echo '<td>' . $notable . '</td>';
echo '<td>' . $rowtable['provinsi'] . '</td>';
echo '<td>' . $rowtable['kabupaten'] . '</td>';
echo '<td>' . $rowtable['nama'] . '</td>';
echo '<td>✅</td>';
echo '<td>✖</td>';
echo '<td>✖</td>';
echo '<td>visited</td>';
echo "</tr>";
$notable++;
}
问题在于他们印有自己的桌子,并以这种方式返回了2张桌子。如何将它们连接在一起,所以我有1张桌子,并且根据自己的桌子有不同的Symbol。
谢谢
答案 0 :(得分:0)
您可以使用console.log(specificSearch([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
], 'even')); // the maximum number of even numbers is in row - 2, which are 2 and 8
console.log(specificSearch([
['o', 'o', 'o', 'x'],
['x', 'x', 'o'],
['o', 'x'],
['x', 'x', 'x', 'x', 'x', 'x', 'x']
], 'x')); // the maximum number of x is in column - 4, which is 7 times appear
组合两个查询。
function specificSearch(array, command) {
var max = 0
var even = 0
for(var i = 0; i < array.length; i++){
var evenCounter = 0
for(var j = 0; j < array[i].length; j++){
if(command === 'even'){
if(array[i][j] % 2 == 0){
evenCounter++
}
}
}
if(command === 'even' ){
if( max < evenCounter) {
max = evenCounter
even = i
}
}
}
return even
}
然后,您可以使用UNION
来了解是在最后两列中放置SELECT *
FROM (
select 'complete' as which, mst_province.provinsi as provinsi, mst_kab.kabupaten as kabupaten, form_kuesioner_pengelola.namasite as nama, form_kuesioner_pengelola.idprov, form_kuesioner_pengelola.idkab
from form_kuesioner_pengelola
join form_kuesioner_surveyor on form_kuesioner_surveyor.namalokasi = form_kuesioner_pengelola.namasite
join mst_province on mst_province.id_prov = form_kuesioner_pengelola.idprov
join mst_kab on mst_kab.id_prov = form_kuesioner_pengelola.idprov and mst_kab.id_kab = form_kuesioner_pengelola.idkab
group by form_kuesioner_pengelola.namasite
UNION ALL
select 'visited' as which, mst_province.provinsi as provinsi, mst_kab.kabupaten as kabupaten, form_kuesioner_pengelola.namasite as nama, form_kuesioner_pengelola.idprov, form_kuesioner_pengelola.idkab
from form_kuesioner_pengelola
join mst_province on mst_province.id_prov = form_kuesioner_pengelola.idprov
join mst_kab on mst_kab.id_prov = form_kuesioner_pengelola.idprov and mst_kab.id_kab = form_kuesioner_pengelola.idkab
group by form_kuesioner_pengelola.namasite
) AS u
order by u.idprov, u.idkab
还是$row['which']
。
✅
如果您只想返回一次所有内容,请使用✖
或echo "<tr> <th>No.</th> <th>Provinsi</th> <th>Kabupaten</th> <th>Namasite</th> <th>Form Manfaat</th> <th>Form Pengelola</th> <th>Form Surveyor</th> <th>status</th>";
while($row = mysqli_fetch_array($rdata)) {
echo "<tr>";
echo '<td>' . $no . '</td>';
echo '<td>' . $row['provinsi'] . '</td>';
echo '<td>' . $row['kabupaten'] . '</td>';
echo '<td>' . $row['nama'] . '</td>';
echo '<td>✅</td>';
echo '<td>' . ($row['which'] == 'complete' ? '✅' : '✖') . '</td>';
echo '<td>' . ($row['which'] == 'complete' ? '✅' : '✖') . '</td>';
echo '<td>' . $row['which'] . '</td>';
echo "</tr>";
$no++;
}
(取决于它们是否在Complete
表中),则应使用Visited
那张桌子。然后,您可以测试表中的列是否为空,以了解是否存在匹配项。
form_kuesioner_surveyor