台灣最大程式設計社群網站
線上人數
686
 
會員總數:244808
討論主題:188842
歡迎您免費加入會員
討論區列表 >> PHP >> 有辦法同時搜尋兩個資料表欄位的內容嗎?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有辦法同時搜尋兩個資料表欄位的內容嗎?
價值 : 50 QP  點閱數:250 回應數:4

樓主

Susan Chen
門外漢
0 2
22 3
發送站內信

我有兩個資料表:

表一、下載內容
seq_id,name
1,年度預算
2,月報表
3,年度決算

表二、下載檔案
seq_id,Fid,filename
1,1,105年度預算
2,1,106年度預算
3,1,107年度預算
4,1,108年度預算
5,1,109年度預算

表二和表一的關連是,表二的Fid是表一序號seq_id

我原本的搜尋絛件如下,但這樣單單只有在搜尋「年度預算」時有用,如果我今天多用「106年度預算」就搜尋不到東西

我試過用LEFT JOIN,但搜尋結果反而會變成有兩筆、因為表一、表二各會出現一次
我希望的是,表二的filename也變成是表一的搜尋條件,當搜尋關鍵字符合name或filename時,就顯示表一
例如我搜尋108年度,結果會是
1,年度預算

搜尋相關Tags的文章: [ PHP ] , [ 搜尋 ] , [ 不同資料表 ] ,
本篇文章發表於2019-03-11 16:19
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
的確可以用 left join 處理掉

不希望直接提供答案給你
方便的話,貼出你 left join 的 sql 語句,然後我們從中去修正你的錯誤

提示你
1.拿 「表二」 left jolin 「表一」
2. 然後將 「表二.Fid」 與 「表一.seq_id」做對應
3. 搜尋的部分,則直接 「where 表二. filename like '%$searchword%'」
本篇文章回覆於2019-03-12 00:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Susan Chen
檢舉此回應
謝謝彩虹的回覆~~

我用過你所說的方式,程式碼大至如下


可是這樣變成如果我今天搜只「年度預算」四個字時,就會連續跑出五筆
年度預算
年度預算
年度預算
年度預算
年度預算

因為105年度預算~109年度預算都符合關鍵字
但我前台只希列出表一,只要關鍵字符合表一的name或表二filename時,就列出符合條件的表一~~
本篇文章回覆於2019-03-13 13:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

彩虹
檢舉此回應
請在後面補上 「group by Table1.seq_id」試試看
本篇文章回覆於2019-03-13 14:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Susan Chen
檢舉此回應
跪拜彩虹大大!!大感謝~~這就是我要的結果~~

本篇文章回覆於2019-03-13 15:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.