[英]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.