亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL根據2個不同的表匹配值加入另一個表值?

MySQL根據2個不同的表匹配值加入另一個表值?

PHP
慕萊塢森 2023-04-15 17:05:51
預期結果是 12(price) 和 pic.png(profilepic)。這是否可以根據匹配的 job_id(工作+優惠)加入工作和個人資料,這些工作和個人資料在個人資料和優惠之間具有匹配的用戶 ID,所有這些都基于 $_SESSION[user_id]?       Jobs                          Offers                Profileuser_id | job_id | price |    | user_id | job_id |   |user_id | profilepic |   1    |   1    |   12  |    |    4    |    1   |   |   4    |   pic.png  |--------------------------    --------------------   -----------------------$sql="SELECT      j.price,      p.profilepic      FROM Jobs j      INNER JOIN Offers o  ON o.job_id = j.job_id      INNER JOIN Profile p ON o.user_id = p.user_id      WHERE user_id=?";$stmt = $conn->prepare($sql);$stmt->bind_param("i",$_SESSION['user_id']);$stmt->execute();$stmt->bind_result($price,$profilepic);$stmt->fetch();它不起作用,這可能嗎?
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

您的查詢看起來很好。您只需要用它所屬的表來限定子句user_id中的列:from


SELECT j.price, p.profilepic

FROM Jobs j

INNER JOIN Offers o  ON o.job_id = j.job_id

INNER JOIN Profile p ON o.user_id = p.user_id

WHERE p.user_id = ?  -- or j.user_id = ?


查看完整回答
反對 回復 2023-04-15
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

MySQL 不喜歡你有兩個相同的列名為userid. 所以只需為 where 子句選擇一個


$sql="SELECT

? ? ? ?j.price,

? ? ? p.profilepic

? ? ? FROM Jobs j

? ? ? INNER JOIN Offers o? ON o.job_id = j.job_id

? ? ? INNER JOIN Profile p ON o.user_id = p.user_id

? ? ? WHERE j.user_id=?";

$stmt = $conn->prepare($sql);

$stmt->bind_param("i",$_SESSION['user_id']);

$stmt->execute();

$stmt->bind_result($price,$profilepic);

$stmt->fetch();


查看完整回答
反對 回復 2023-04-15
  • 2 回答
  • 0 關注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號