国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql多表查詢的問題

瀏覽:123日期:2022-06-20 16:32:02

問題描述

產品分類表:prolei產品信息表:pro

前提知道某分類lei的值,他對應著分類表(prolei)中的category_id.現在需要,通過lei搜索分類表(prolei)中的category_id的記錄,然后用搜索結果去產品表(pro)中搜索所有的記錄,對應著產品表中的字體goods_id。

這個怎么寫?

問題解答

回答1:

以后想讓人快速清晰地看懂問題,麻煩貼一下DDL語句,加上清晰簡潔的問題描述,謝謝。

一次查詢:

SELECT b.* FROM prolei AS a, pro AS bWHERE a.category_id = b.goods_idAND a.lei = ?

但建議分開2次查詢,尤其是互聯網應用這種并發量比較大的場景應盡量避免聯表查詢:

SELECT category_id FROM proleiWHERE lei = ?;SELECT * FROM proWHERE goods_id IN (...) #在代碼里把SQL1的結果填進去回答2:

不太明白你說的意思,能把2個表的字段寫一下么,prolei表的哪個字段和pro表的哪個字段關聯?你看看是這個意思么:

select p.* from prolei pl, pro p where pl.goods_id = p.goods_id and pl.category_id = {lei}回答3:

不知道你所說的使用分類表中的結果是一個什么樣的結果,我暫定為某一個字段數據結果作條件吧,如下子查詢

SELECT `字段1`,`字段2`,`字段3` FROM `pro` WHERE `goods_id` IN (SELECT `某字段` FROM `prolei` WHERE `category_id`={$lei})

不過考慮到你時要對產品表做操作,產品表的數據應該很大,不推薦你用子查詢。你可以先把分類表中的數據查詢出來,然后通過程序做好對應的查詢產品表的數據條件,再去查詢產品表。

SELECT `字段1`,`字段2`,`字段3` FROM `prolei` WHERE `category_id`={$lei}# code ... 假設程序處理之后的條件為 $where = ...SELECT `字段1`,`字段2`,`字段3` FROM `pro` WHERE `goods_id` IN {$where} #根據你自己的需求條件 IN;=;LIKE

希望對你有幫助

相關文章:
主站蜘蛛池模板: 介休市| 三门县| 西平县| 喀什市| 瑞安市| 宣城市| 乐陵市| 鲁山县| 林芝县| 灵武市| 图木舒克市| 拜泉县| 和政县| 玉溪市| 伊川县| 新泰市| 栾城县| 瑞丽市| 涟水县| 扎兰屯市| 奎屯市| 进贤县| 三门县| 嘉祥县| 罗城| 漠河县| 都匀市| 革吉县| 湾仔区| 墨竹工卡县| 明星| 紫阳县| 苏州市| 惠安县| 固安县| 平谷区| 马尔康县| 金坛市| 金堂县| 垣曲县| 翁源县|