簡體   English   中英

從2個表格中獲取信息

[英]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.

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