簡體   English   中英

獨特的語句用於一次只返回一個唯一結果mysql

[英]Distinct statement is used to return only one unique result in one time mysql

有三個表:

tbl住宿桌

--------------  -----------------------
fldProductID     fldAccommodationName
--------------  -----------------------

tbl住宿桌

-------------  --------------------  ---------------------
fldProductID   fldAccommodationText  fldAccommodationText1
-------------  --------------------  ---------------------

tbl住宿桌

------------  --------
fldProductID  seo_url
------------  --------

三表聯接查詢

$sql = "SELECT 
        DISTINCT 
        tblAccommodation.fldProductID,
        tblAccommodationText.fldAccommodationTextTitle,
        seo_url,
        tblAccommodation.fldAccommodationName
    FROM tblAccommodation 
    LEFT JOIN tblAccommodationText 
        ON tblAccommodationText.fldProductID = tblAccommodation.fldProductId
    LEFT JOIN tblProduct
        ON tblProduct.fldProductID = tblAccommodation.fldProductID
    WHERE
        seo_url = 'yacht-4'";

代碼結果

------------  -------------------------  -------  --------------------
fldProductID  fldAccommodationTextTitle  seo_url  fldAccommodationName
------------  -------------------------  -------  --------------------
6                 Dolphin Villas         yacht-4     yacht 4 upper cabin
6                 Aqua Suite             yacht-4     Aqua Suite with Pool
6                 Dolphin Villas         yacht-4     yacht 4 upper cabin
6                 Aqua Suite             yacht-4     Aqua Suite with Pool

為什么重復兩次相同的值,請幫助我

您可以使用GROUP BY

SELECT tblAccommodation.fldProductID,fldAccommodationText1,tblAccommodationText.fldAccommodationTextTitle,seo_url,tblAccommodation.fldAccommodationName 
    FROM tblAccommodation 
        LEFT JOIN tblAccommodationText ON tblAccommodationText.fldProductID = tblAccommodation.fldProductID 
        LEFT JOIN tblProduct ON tblProduct.fldProductID = tblAccommodation.fldProductID 
        WHERE seo_url='yacht-4' 
    GROUP by tblAccommodationText.fldAccommodationTextTitle

代碼首先工作,我刪除了不同的功能,然后按功能分組....

correct query is

$sql = "SELECT tblAccommodation.fldProductID,fldAccommodationText1,tblAccommodationText.fldAccommodationTextTitle,seo_url,tblAccommodation.fldAccommodationName FROM tblAccommodation LEFT JOIN tblAccommodationText ON tblAccommodationText.fldProductID = tblAccommodation.fldProductID LEFT JOIN tblProduct ON tblProduct.fldProductID = tblAccommodation.fldProductID where seo_url='yacht-4' GROUP by tblAccommodationText.fldAccommodationTextTitle"

tbl住宿桌

--------------  -----------------------
fldProductID     fldAccommodationName
--------------  -----------------------
 6                yacht 4 upper cabin
 6                Aqua Suite with Pool

tblAccommodationText表

--------------  --------------------- ------------------------ 
fldProductID     fldAccommodationText  fldAccommodationText1
--------------  ---------------------  ------------------------
 6                Dolphin Villas        king sized bed overlooking the ocean...
 6                Aqua Suite            sundeck with lagoon access where you...

tbl產品表

--------------  --------
fldProductID     seo_url 
--------------  --------
 6               yacht-4 
 6               yacht-4

預期表

------------           ----------------------------    --------------------  --------
fldProductID          fldAccommodationText1            fldAccommodationText  seo_url 
------------          -----------------------------    --------------------  --------
6             king sized bed overlooking the ocean...     Dolphin Villas      yacht-4
6             sundeck with lagoon access where you...    Aqua Suite           yacht-4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM