2014-02-14 182 views
0

當前查詢:刪除重複使用SQL查詢

$query = sprintf(" 
SELECT compdetails.compname, compdetails.message, specdetails.expirydate, 
specdetails.specday, specdetails.specname, specdetails.specorig, specdetails.specspec, 
specdetails.startdate, complocations.address, complocations.lat, complocations.lng 

FROM compdetails, complocations, specdetails 
WHERE compdetails.compid='%s' 

AND specdetails.compid='%s' 
AND complocations.compid='%s'", 

所以:

Compdetails表:
COMPNAME
消息

Specdetails表:
expirydate
specday
specname
specorig
specspec
開始日期

complocations表:
地址
緯度
LNG

什麼我遇到的問題有:

從該視圖中刪除的受騙者。見圖像here

我只需要以下列出一次:
1. COMPNAME消息
2. expirydate,specday,specname,specorig,specspec,stardate每一次每地址的每個地址
3.緯度,經度

我希望這是有道理的

請幫助。

+0

您是否嘗試過使用公司名稱的GROUP BY? –

+0

這隻給我1個地址。這是一個奇怪的要求,但看着圖片我只想要一次比薩餅屋,每個地址(和緯度)一次,同時還有D1,D2,D3特價。有道理? – Denis

回答

0
SELECT compdetails.compname, compdetails.message, specdetails.expirydate, 
    specdetails.specday, specdetails.specname, specdetails.specorig, specdetails.specspec, 
    specdetails.startdate, complocations.address, complocations.lat, complocations.lng 

FROM compdetails, complocations, specdetails 
WHERE compdetails.compid='%s' 

AND specdetails.compid='%s' 
AND complocations.compid='%s' 
GROUP BY compdetails.compname" 

如果您希望顯示所有行,但在某些行上省略某些值,則必須在視圖中使用邏輯。