php
  • mysql
  • sql-server
  • 2017-04-07 36 views 1 likes 
    1
    $r1 = mysqli_query($con,"SELECT course_id,status FROM attendance WHERE stud_id = '$stud_id'"); 
    
    $r2 = mysqli_query($con,"SELECT course_name,status FROM **$r1** NATURAL JOIN course WHERE stud_id = '$stud_id'"); 
    
    +0

    我建議你創建一個表名變量並用它代替。 –

    回答

    0

    您可能必須爲此使用subquery

    $r2 = mysqli_query($con,"SELECT course_name,status FROM 
         (SELECT course_id,status FROM attendance WHERE stud_id = '$stud_id') 
         NATURAL JOIN course WHERE stud_id = '$stud_id'"); 
    
    +0

    這很好,但我想要使用$ r1,因爲我在查詢$ r2中給出。我想知道這是可能的或者不是,因爲我使用了3-4類型的查詢。因此,您提供使用子查詢的結果查詢是一個非常複雜和更大的人。下次跟蹤這個大問題非常繁瑣。 –

    +0

    根據頭腦,你必須使用子查詢。你不能從數據集(在你的情況下$ r1)與MySQL查詢選擇。你必須使用子查詢。而我的不好。您必須正確設置別名,並在加入時正確使用它們。我只是想讓你知道你必須使用子查詢 – 2017-04-07 11:16:32

    +0

    而且這個查詢在子查詢** SELECT **上返回一個錯誤,因爲這種類型的子句以前是在xampp上直接解析的 –

    0

    首先,從來沒有使用變量,但不恰當的轉義(mysqli::real-escape-string

    ,你可以直接連接兩個表這樣的:

    $r2 = mysqli_query(
        $con, 
        "SELECT c.course_name, a.status FROM attendance a 
        INNER JOIN course c ON c.stud_id = a.stud_id 
        WHERE stud_id = '$stud_id'" 
    ); 
    
    相關問題