我不太了解MySQL,所以我需要一些帮助来完成这项任务..我希望可以提出来。
我有一个表,我需要导出,我使用以下代码:
SELECT *
FROM `members`
WHERE `active` =1
AND `level` = 'full'
LIMIT 0 , 30000
这很完美,并且提供了我需要的大部分内容,包括名为id
的列中的用户ID,但我还需要为每个成员获取相关图像并将其添加到导出的.csv。
图像(文件名)存储在名为images
的另一个表中,但这只包含galleryid
,filename
和defaultimg
(注意我只对其中的数据感兴趣defaultimg = 1
)
此处的问题是此表中没有对成员(id
)的引用。
为此,我必须引用另一个名为imagelinks
的表,其中包含2列:
1)id
与galleryid
表格中的images
相关。
和
2)memberid
与id
表中的用户ID members
相关。
我所知道的设置灾难。
所以..我需要做的事情,并且不能为我的生活做出努力是导出.csv与来自members
表的所有用户数据(如我上面的代码中所述)添加filename
表中与引用用户相对应的images
数据(defaultimg = 1
)。
最后,我还需要在filename
数据的前面添加一个网址。
例如:该表格有my-image.jpg
,但在导出的.csv中我需要它http://www.domain.com/images/my-image.jpg
我正在尝试在PhpMyAdmin中完成所有这些。
非常感谢任何帮助。
由于
答案 0 :(得分:1)
我的语法可能有点偏,但这应该很接近......
SELECT members。*,CONCAT('http://www.domain.com/images/',images.filename)AS文件名FROM成员INNER JOIN imagelinks ON members.id = imagelinks.memberid INNER JOIN图像ON图像。 galleryid = imagelinks.id WHERE members.active = 1 AND members.level ='full'AND images.defaultimg = 1