有3個表:從幾個表選擇MySQL的
1)名稱:公司字段:COMPANY_ID,COMPANY_NAME;
2)名稱:接觸字段:CONTACT_ID,CONTACT_NAME;
3)name:connections,fields:connection_id,contact_id,company_id;
我正在多個搜索。例如,我想找到名叫「qwer」的公司,聯繫人叫做「abc」。所以我的查詢將是:
$query="SELECT * FROM COMPANIES WHERE company_name RLIKE (qwer)"
下一步我會用這些公司的ID做一個巨大的。接下來的查詢將是這樣的:使大量從本次評選CONTACT_ID的
$query="SELECT * FROM connections WHERE company_id in (my massive)"
,然後作出最後的查詢:
$query="SELECT * FROM contacts WHERE contact_name RLIKE(abc) and id in(my massive)"
所以,是有可能使在一個查詢或使用更少的這一切行動行動比我用?
舉例來說,我需要找到像「ith」這樣的聯繫人稱爲「oogle」的所有公司。因此,我需要讓兩個聯繫人成爲一家「Google」公司:約翰史密斯和珍妮史密斯。
@Iqbal幫助了很多,但我有一個叫做地址的表格有兩個字段:id和street。在表格公司中,還有一個字段叫做addresses_id。於是,我就得到這樣的查詢的所有信息:
select con.connection_id, com.company_name, ctx.contact_name
from addresses as add, connections as con
left join companies as com on con.company_id = com.company_id
left join contacts as ctx on con.contact_id = ctx.contact_id
where add.id=com.Legal_address
但它不工作,有一個錯誤:「您的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊正確的語法使用近「添加,連接是騙人的LEFT JOIN公司作爲COM上con.company_id = com.id LE」第1" 行
請添加一些樣本數據和expacted結果 – Jens
好吧,幾分鐘的時間。 – RoGGeR
@Jens我已添加) – RoGGeR