請教sql查詢2張表的問題

來源:互聯網
上載者:User
請教sql查詢2張表的問題:
A表為
id title picid
其中picid儲存資訊為
a:4:{s:6:"attach";s:2:"74";s:9:"show_type";s:1:"0";s:9:"user_bind";s:1:"1";s:10:"topic_bind";s:0:"";}

B表為
p_id purl
我首先通過查詢A表獲得了picid欄位中的attach資料,輸出為數組形式為
aryy{
【0】74
【1】88
....
}
那麼我如何通過查詢A表得到的attach去查詢B表 p_id 為74 88的匹配id呢?
能給個代碼解釋下嗎?


回複討論(解決方案)

設第一步得到的數組為
$ar = array(74, 88);
則有
$sql = 'select * from B表 where p_id in (' . join(',', $ar) . ')';

如果 picid 中 attach 出現的次序是固定的話,還可以直接關聯兩表查詢

比如
select p_id, purl from B表, A表 where p_id = SUBSTRING_INDEX(SUBSTRING_INDEX(picid, 4), '"', -1)

設第一步得到的數組為
$ar = array(74, 88);
則有
$sql = 'select * from B表 where p_id in (' . join(',', $ar) . ')';

如果 picid 中 attach 出現的次序是固定的話,還可以直接關聯兩表查詢

如果出現次序不是固定的呢?能關聯兩表查詢嗎

用 LOCATE 函數先定位,應該也是可以的

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.