シンプルなデータベース設定
テーブル: クライアント フィールド: clientId(autoinc/primary)、customerId、clientName
テーブル: プロジェクト フィールド: projectId(autoinc/primary)、customerId、projectName
table:items フィールド: itemId(autoinc/primary)、customerId、itemName
クエリ:
include('includes/conn.inc.php');
$query = "SELECT customerId
FROM items, projects, clients
WHERE customerId= 135";
$stmt = $mysql->prepare ($query);
$stmt->execute();
$stmt->bind_result($customerId);
while($row = $stmt->fetch()) :
echo $customerId;
endwhile; $stmt->close();
質問: クエリの何が問題になっていますか? 優しくしてください、私は初めて結合を理解しようとしています。私はさまざまな方法を試しましたが、どれもうまくいきませんでした. 各テーブルには対応するエントリ (customerId=135) があるため、クエリが機能する場合、そのうちの 3 つが返されると予想されます。エラー: 非オブジェクトで execute を呼び出しています
事前にみんなに感謝
- - - - アップデート
助けてくれてありがとう!私は実際にこのクエリを使用して動作させました:
SELECT clients.customerId, projects.customerId, items.customerId
FROM clients, projects, items
WHERE clients.customerId = projects.customerId AND
projects.customerId = items.customerId;
特に最終的にはちょっと不格好に思えますが。誰かが「WHERE table.column = table.column = table column」の省略形を知っていれば、それらがすべて同じ値であることを考えると優れています。