При использовании в предложении в SQL отображается только одна строка

запрос 1:

select products
from buyde_deal
where displayflag = '1'
and end_date> now()
and start_date < now() limit 1

выход : вывод запроса 1

запрос 2:

SELECT id,productname ,cat_id ,subcat_id,shortdescription1,shortdescription2,shortdescription3 ,sellingprice,sellpricevat,mrp,regularprice,costprice,sku,qty,pweight,seller_id,shippingcost,color,size,discount
FROM `buyde_product`
WHERE id IN (
select products
from buyde_deal
where displayflag = '1'
and end_date> now()
and start_date < now() )
ORDER BY `buyde_product`.`id` "

выход :вывод запроса 2

Если я запускаю второй запрос, возвращается только одна запись. Мне нужны все записи из таблицы 1.

-2

Решение

Попробуй использовать find_in_set:

SELECT id,
productname,
cat_id,
subcat_id,
shortdescription1,
shortdescription2,
shortdescription3,
sellingprice,
sellpricevat,
mrp,
regularprice,
costprice,
sku,
qty,
pweight,
seller_id,
shippingcost,
color,
size,
discount
FROM   `buyde_product`
JOIN (SELECT products
FROM   buyde_deal
WHERE  displayflag = '1'
AND end_date > Now()
AND start_date < Now()) t
ON FIND_IN_SET(`buyde_product`.`id`, t.products)
ORDER  BY `buyde_product`.`id`
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]