簡體   English   中英

如何忽略MySQL查詢中JOIN表的結果

[英]How do I ignore results from JOIN table in MySQL query

我有以下查詢:

$img_sub_qry = "SELECT * FROM images 
JOIN imagsub ON images.image_id = imagsub.image_id
WHERE images.image_id IN ($thelist)";

問題是這個查詢填充了一個下拉框,我得到了雙重結果。 我只想要images表中的結果,但我需要JOIN才能獲取只存在於imagsub表中的列。 從FirePHP我可以看到圖像表中的結果通過正常然后它循環返回並從imagsub拉出相同的結果,我不需要這些結果。 我試過“SELECT DISTINCT”無濟於事。 有人可以幫助我嗎? 我是PHP的新手,這是我第一次嘗試使用IN。

我認為你的選擇與眾不同; 只需指定所需的列。 如果您正在填充下拉列表,請執行以下操作:

$img_sub_qry = "SELECT DISTINCT [colname] as ddlvalue, [colname] as ddltext
    FROM images 
    JOIN imagsub ON images.image_id = imagsub.image_id
    WHERE images.image_id IN ($thelist)";

對於您正在嘗試的查詢,由於ID列,查詢中的每一行可能都是不同的。

您應該明確指定您感興趣的字段。

SELECT i.* 
FROM images i
JOIN imagsub is ON i.image_id = is.image_id
WHERE i.image_id IN ($thelist)

暫無
暫無

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

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