我正在尝试从客户端表中选择一些用户数据,并从另一个表中选择一些自定义字段值。我的问题似乎是在循环结果。我不断为每个自定义值字段获取重复的客户端行。
这是用于从不同的表tblcustomfieldvalues
获取客户端地址详细信息和每个客户端的正确值的SQL查询。
SELECT
tblhosting.userid,
tblclients.id,
tblclients.firstname,
tblclients.city,
tblclients.state,
tblclients.country,
tblclients.postcode,
tblclients.companyname,
tblclients.ip,
tblcustomfields.id,
tblcustomfields.fieldname,
tblcustomfieldsvalues.fieldid,
tblcustomfieldsvalues.value
FROM tblhosting,tblclients,tblcustomfields,tblcustomfieldsvalues
WHERE tblclients.id IS NOT NULL
AND tblclients.id = tblhosting.userid
AND tblcustomfields.id=tblcustomfieldsvalues.fieldid
AND tblcustomfieldsvalues.relid=tblhosting.id
AND tblcustomfieldsvalues.fieldid between 291 and 292
我的问题是如何从tblcustomfieldsvalues
获取每个客户端的两个行值和tblclients
地址等等。
我尝试拆分查询并使用while和forech循环,但不断从clients表中获取重复值。或每个客户只有一个customfieldvalue。
答案 0 :(得分:0)
" SELECT tblhosting.userid,tblclients.id,tblclients.firstname,tblclients.city,tblclients.state,tblclients.country,tblclients.postcode,tblclients.companyname,tblclients.ip,tblcustomfields.id,tblcustomfields。字段名,tblcustomfieldsvalues.fieldid,tblcustomfieldsvalues.value 来自tblhosting,tblclients,tblcustomfields,tblcustomfieldsvalues"
你的代码看起来很糟糕。 对于那些对您的结构没有任何看法的人来说,这是不可读的。 您应该使用同义词和' join'关键字来获取表格。
@edit现在看起来很好看。