[英]Getting info from 2 tables
在某些選擇語句上遇到麻煩。
我有2張桌子。 sms_log和sms_messages。
sms_log:
id
message_id
user_id
sms_messages:
message_id
admin_id
message
date_sent
date_delivered
我想獲取sms_message數據,其中sms_log.user_id = $ id
我該怎么做,即時通訊有點卡住。 另外,我將如何通過php訪問它,與標准查詢完全相同,還是在單元格前面使用表名:
`
echo $myrow['sms_messages.message'];
要么
echo $myrow['message'];
謝謝 !
首先,您將需要對messageId上的SMS_MESSAGe和SMS_LOG表執行內部聯接。 看起來像這樣:
SELECT m.Message
FROM sms_Messages me
INNER JOIN sms_Log l ON l.Message_Id = m.Message_Id
Where l.user_Id = $id;
此時,在myrow變量中,您將訪問以下消息:
echo $myrow['message'];
select m.message as message , m.date_sent as date_sent FROM sms_messages as m LEFT JOIN sms_log as l ON m.message_id = l.message_id WHERE l.user_id = $id
您仍然可以按預期訪問陣列:
echo $arr['message'] ' sent on ' $arr['date_sent'] ;
盡管Stephen做出了勇敢的嘗試,但無法從您提供的信息中確定如何將兩個表連接在一起。 每個表中都有稱為message_id的列這一事實意味着它可能是一個外鍵,而不是另一個。
是否為表聲明了任何主鍵? 有唯一索引嗎?
這是您自己的數據設計還是其他人? 列的數據類型是什么? 您正在使用什么DBMS? 是否從序列生成器或mysql自動增量中填充了任何列?
這些表實際上表示什么(好的SMS消息-我明白了,但是它們只是傳入的嗎?
C。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.