關於mysql多重組合查詢的一點技巧總結

2021-07-10 22:52:37 字數 665 閱讀 1981

今天專案遇到了乙個很有意思的問題:

就是乙個搜尋框,我們有6個搜尋專案,

然後需要實現1個查詢,2個查詢,3個。。。一直到6個查詢為止

開始我直接一眼的思路就是用n多的if()

<?php

$info = $_post;

if(isset($info['***']))else if(isset($info['***x']))

......

?>

這大概要寫6*5*4*3*2*1個if()

然後找了一下資料,發現可以這麼寫

<?php
$info = i('post.');

//根據條件寫判斷

$sql = "select * from ordertable where 1=1";

if($info['warehouse'])

if($info['createtime'])

if($info['paytime'])

if($info['paystatus'])

if($info['ordernum'])

if($info['product'])

?>

關於組合查詢的實現

示範中心有一項功能是組合查詢,就是在現有資料 例如教師 實驗室 實驗專案 中過濾出感興趣的資料。因為資料的型別比較多,大約有十個,為每種型別都做一套查詢介面和對應的action 很不划算。我打算通過配置檔案的方式,為每個型別的資料都需要對哪些屬性進行過濾進行說明,並且說明每個屬性在介面上表現為文字框...

關於MySQL組合查詢的建立和實現教程

mysql也允許執行多個查詢 多條select語句 並將結果作為單個查詢結果集返回。這些組合查詢通常稱為並 union 或復合查詢 compound query 有兩種基本情況,其中需要使用組合查詢 在單個查詢中從不同的表返回類似結構的資料 對單個表執行多個查詢,按單個查詢返回資料。可用union操...

mysql 查詢結構組合 MySQL的查詢和結構

多表關聯查詢 交叉連線 交叉連線的表現 行數相乘 列數相加 內連線 內連線也叫等值連線,內聯接使用比較運算子根據每個表共有的列的值匹配兩個表中的行 隱式內連線 select from a,b where a.id b.id 顯示內連線 seect from a inner join b on a.i...