2
select t1.CardID,t2.Description,t5.BioData 
from db2.tblemployeeinfob t1
left join (db2.tbldepartments t2,db1.tblbiometrics t5)
on 
(t1.Department = t2.DepartmentID and
t1.CardID=t5.CardID
)

戻り結果は1420 | (NULL) | (NULL)

期待される結果は 1420 | DB2_Description_Value | DB1_BioData_value

remove db1のように、クロスデータベース結合を削除すると、クエリは正常に機能して、同じデータベースの残りの2つのテーブルを結合します。

db1とdb2の間でデータベース間結合を行うと、同じデータベースdb2のテーブルt2でさえNULLを返します。

クエリのどこに問題があるので、両方のデータベースから値を取得できます。

4

2 に答える 2

2

ここではクロスジョインを使用しないでください。2つの別々の左結合が必要です。

SELECT t1.CardID, t2.Description, t5.BioData 
FROM db2.tblemployeeinfob AS t1
LEFT JOIN db2.tbldepartments AS t2 ON t1.Department = t2.DepartmentID
LEFT JOIN db1.tblbiometrics AS t5 ON t1.CardID = t5.CardID
于 2012-07-15T21:44:30.447 に答える
0
            <?php
            include('../dbcon.php');
            include('../session.php');
            if (isset($_POST['delete_user'])){
            $id=$_POST['selector'];
            $class_id = $_POST['teacher_class_id'];
             $get_id=$_POST['get_id']; 
            $N = count($id);
            for($i=0; $i < $N; $i++)
            {
                $result = mysql_query("select * from files  where file_id = '$id[$i]' ")or die(mysql_error());
                while($row = mysql_fetch_array($result)){

                $fname = $row['fname'];
                $floc = $row['floc'];
                $fdesc = $row['fdesc'];
                $uploaded_by = $row['uploaded_by'];



                mysql_query("insert into files (floc,fdatein,fdesc,class_id,fname,uploaded_by) value('$floc',NOW(),'$fdesc','$class_id','$fname','$uploaded_by')")or die(mysql_error());


                }
            }
            ?>
            <script>
            window.location = 'downloadable.php<?php echo '?id='.$get_id; ?>';
            </script>
            <?php
            }

            if (isset($_POST['copy'])){
            $id=$_POST['selector'];

            $N = count($id);
            for($i=0; $i < $N; $i++)
            {
                $result = mysql_query("select * from files  where file_id = '$id[$i]' ")or die(mysql_error());
                while($row = mysql_fetch_array($result)){


                    $fname = $row['fname'];
                $floc = $row['floc'];
                $fdesc = $row['fdesc'];


                mysql_query("insert into teacher_backpack (floc,fdatein,fdesc,teacher_id,fname) value('$floc',NOW(),'$fdesc','$session_id','$fname')")or die(mysql_error());


                }
            }
            ?>
            <script>
            window.location = 'backpack.php';
            </script>
            <?php
            }
            ?>
            <?php

            if (isset($_POST['share'])){
            $id=$_POST['selector'];
            $teacher_id = $_POST['teacher_id1'];
            echo $teacher_id ; 
            $N = count($id);
            for($i=0; $i < $N; $i++)
            {
                $result = mysql_query("select * from files  where file_id = '$id[$i]' ")or die(mysql_error());
                while($row = mysql_fetch_array($result)){


                    $fname = $row['fname'];
                $floc = $row['floc'];
                $fdesc = $row['fdesc'];


                mysql_query("insert into teacher_shared (floc,fdatein,fdesc,teacher_id,fname,shared_teacher_id) value('$floc',NOW(),'$fdesc','$session_id','$fname','$teacher_id')")or die(mysql_error());


                }
            }
            ?>
            <script>
             window.location = 'tambah_share_file.php';
            </script>
            <?php
            }
            ?>
于 2017-12-07T18:46:46.940 に答える