我一直在努力工作,我們有一段時間,但有麻煩。PHP/SQL使用以前的查詢數據來查詢另一個表
我們有4張表,供應商,supplier_areas,supplier_languages和supplier_products選項。
我正在嘗試進行高級搜索,用戶可以使用上述任何一種方法搜索成員。
一個例子搜索可能是在一定區域內說英語&法語,也賣產品1和2
我知道位置表將總是要通過語言第一次查詢,然後所有供應商,然後是產品表,最後是供應商表中的特定字段。
E.g.
所有供應商ID的從supplier_areas其中locationid = 1
這例如返回與supplierids「1」的陣列,「5」,「10」
我然後需要查詢語言表以查找從這些供應商講英語,我可以看到使用的唯一的語句是從supplier_languages
選擇供應商ID WHERE languageid = 1或languageid = 2,供應商ID = 1或供應商ID = 5或供應商ID = 10
然後顯然使用taht的結果來查詢最後兩個表。
我假設我打算做的OR語句太慢並且服務器密集。從第一個查詢返回的結果可以是任何最多200個供應商ID。
任何幫助,將不勝感激。
感謝
這是偉大的,怎麼會在的情況下工作每次都不會查詢某些表格?例如,不搜索產品或供應商表中的字段要求where子句 – lethalMango 2010-10-18 14:05:12
根據要檢索的數據,可以簡單地省略某些表或將其他條件添加到where子句,如'and supplier.name =' mysupplier''。可能性(幾乎)是無止境的:o) – 2010-10-18 14:23:45
謝謝,但你能告訴我,這是否會在動態環境中工作,例如在用戶發起的高級搜索中所描述的動態環境中......所以基本上改變了哪裏字段和值? – lethalMango 2010-10-19 14:22:59