Более чистый способ написания этого множественного оператора SQL - PullRequest
0 голосов
/ 22 марта 2011

Я ищу более чистый способ написания этих SQL-операторов.В основном я хочу получить данные из таблицы 1 и отсортировать их по результатам таблицы 2. Второй оператор sql основан на условии первого.Я попытался присоединиться, но не имел никакого успеха с этим.

Вот что у меня сейчас работает:

    $sql= "SELECT * FROM yt_Business_RegInfo WHERE deleted = '0' ORDER BY companyName ASC";

    //Execute SQL statement
    if(!($result = mysql_query($sql)))
    die("Error in executing query");

    while ($row = mysql_fetch_array($result)) { 
    $busID = $row['id'];
    $companyName = $row["companyName"];
    $membershipID = $row['membershipID'];


    $sql2= "SELECT * FROM yt_Business_Membership WHERE id = '$membershipID' AND approved = 1";

    //Execute SQL statement
    if(!($result2 = mysql_query($sql2)))
    die("Error in executing query");
   //Retrieve values
   while ($row2 = mysql_fetch_array($result2)) { 

    echo $companyName; 

     }
}

1 Ответ

1 голос
/ 22 марта 2011

SQL-операторы могут быть объединены в один с внутренним объединением, как это

SELECT * FROM yt_Business_RegInfo R
INNER JOIN yt_Business_Membership M
    ON R.membershipID = M.ID AND R.approved = 1
WHERE R.deleted = '0'
ORDER BY R.companyName ASC
...