0
我试图从表中随机抓取大约20个随机行,然后使用INNER JOIN命令将大约7列附加数据添加到基于一个共同的ID。抓取随机行,同时维持其他表的顺序
数据库包含2个表格,第一个(列表)由id(其中有孔)索引,第二个(listingselements)对于第一个表中的每个id有7个field_name/field_value对。我对其中5个感兴趣。
我无法围绕如何做到这一点。它可以在数据库中完成,还是应该以编程方式在多个查询中完成?
SELECT listings.id, listings.title, listings.featured, listingselements.field_name, listingselements.field_value
FROM listings
INNER JOIN listingselements
ON listings.id = listingselements.id
WHERE RAND()<(SELECT ((20/COUNT(*))*10) FROM listings)
AND (listingselements.field_name = "price"
OR listingselements.field_name = "bathrooms"
OR listingselements.field_name = "bedrooms"
OR listingselements.field_name = "sq_meter"
OR listingselements.field_name = "city")
ORDER BY RAND();
的WHERE/ORDER BY RAND()的伟大工程,但查询不抢内上移动到下一个项目之前的连接列。
轻微错字与listingsdbelements? on子句显示了listingselements(没有db) – Andrew
刚刚纠正,我改变了这个问题的变量名称,因为它们太长了。 –