簡體   English   中英

Mysql IF EXIST是否應用於此查詢?

[英]Is Mysql IF EXIST what should be used for this query?

select social_members.* 
     , social_mcouple.* 
 WHERE m_id = '".$_SESSION['userid'] . "' 
   AND c_id = '".$_SESSION['userid'] . "'

從social_members。*中選擇所有字段,如果social_mcouple.c_id = $ _SESSION ['userid'],則也從social_mcouple。*中選擇所有字段。 可以使用IF EXIST來完成此操作嗎? 謝謝

如果我正確地理解了您的觀點,那么外部聯接會更好。

SELECT social_members.*
     , social_mcouple.* 
  FROM social_members 
  LEFT OUTER JOIN social_mcouple 
    ON social_members.m_id=social_mcouple.c_id 
 WHERE m_id='".$_SESSION['userid']."'

這將檢索每個成員的行,以及來自social_mcouple的任何相應行。 如果social_mcouple表中沒有對應的行,那么結果中的所有social_mcouple。*行都將為NULL。

根據您的確切需求以及兩個表之間的關系,最好將其作為兩個查詢運行,一個查詢從social_members檢索匹配的行,另一個從social_mcouple檢索行。 是否進行外部聯接還是兩個單獨的查詢將取決於要返回的數據的“形狀”。

為了以防萬一,您認為不可能根據數據返回不同數量的列。 (例如,如果沒有適用的social_mcouple行,則僅顯示social_members列。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM