我面临着关于处理我们项目中的线程评论的决定......我有一个简单的MySQL表,其中包含所有评论。有两种类型:parent和child。Childs表示对parent或另一个child的回复。我的问题:-评论(深度0)--回复child(深度1)---回复前一个child(深度2)-评论(深度0)想象一下上面的结构和一个带有LIMIT2的MySQL查询。它会削减最后一个回复(深度2)。实际上我想说的是:如果child离开,请尝试限制为2,直到下一位parent。尝试了几个没有运气的查询......我现在的情况如下:选择SQL_CALC_FOUND_ROWS*从注释在哪里comment
使用PHP和MySQL,我试图获取涉及实际用户的所有私有(private)聊天。为此,我有一个名为“rooms”(id、id_initiate_user、id_target_user)的表和另一个名为“users”(id_pseudo、avatar)的表。如果实际用户是聊天室的发起用户,我想从目标用户那里得到头像和伪装,如果实际用户是那个房间的目标用户,我想从发起者那里得到头像和伪装用户(无论如何,我想要其他成员的头像和伪造)。我想我的查询中需要一个条件,但我真的不知道如何管理它(一整天都在谷歌上搜索)。这是我的查询(逻辑在那里,但语法明显错误:$user_id=$_SESSION['
假设我有如下数据集:tablefooid|employeeType|employeeID-------------------------1|Developer|12|Developer|23|Developer|34|Manager|15|Manager|46|Manager|57|CEO|18|CEO|6我想运行一个查询,返回所有employeeids(连同employeeTypes),其中所有employeeTypes之间有一个共同的员工id(这是“和”逻辑。只有具有所有employeeTypes的employeeIDs才会返回。employeeType=Developer和em
我有一个网页,其“页面/文章”存储在MySQL数据库中。它还具有为不同页面显示不同侧面菜单的功能。所有这些(菜单、菜单项)都存储在数据库中。这是我获取当前页面所有菜单项的SQL:SELECT*FROMmenu_itemsJOINpagesONmenu_items.menu_id=pages.right_menu_idWHEREpages.link="some_link"并且有效。我想要的是,当此查询返回一个空集时,执行另一个查询并获取其结果。可能吗??如果上面提到的查询为空,我想得到这个查询的结果:SELECT*FROMmenu_itemsWHEREmenu_id=2;这可能吗,还是我
我的想法是......我们将在收购事件期间让来自特定网站的人们想知道如何将我网站的特定部分设置为显示感谢消息而不是注册表格,因为他们有机会在进入我的目标网页之前填写此表格。我见过这样的解决方案:$referal=mysql_real_escape_string($_SERVER['HTTP_REFERER']);我想知道这是否是实现此功能的最佳方式???->>>好的,这就是我认为可能有效的方法。填写网站上的表格后将人们引向我们的登录页面的第三方网站可以将隐藏的输入值“www.sample.com”或其他内容推送到记录中......然后我可以检查一下对于该特定值并触发条件。这听起来对吗?
在查询“链接”表的返回结果中,我还想添加一个额外的列,显示从JOIN中选择的“DisplayName”值,条件是每行“toTable”。此外,有时“DisplayName”值是列串联的结果。我的问题是我该怎么做?我可以编写单独的查询并与UNIONALL结合,尽管我想知道是否有条件的方法可以做到这一点“链接”表中的每个条目都描述了两个表(可能有3个或更多表)中的一对条目之间的链接。链接表:|LinkID|fromTable|fromID|toTable|toID||1|A|1|B|1||2|A|1|C|2||3|B|1|C|1||4|C|1|A|1|我想要的查询结果:例如,WHERELi
我正在尝试提出一个查询来报告收入。它将需要2个表:clicks和offers。收入的计算方法是转化次数*优惠的佣金。转化存储在点击表中名为“conversionDate”的字段中,每个报价的佣金存储在报价表中。查询中需要有一个条件,以便在为优惠添加收入时忽略任何未转化的点击(意味着conversionDate为NULL)。我得到的东西需要一些调整,因为它没有给出正确的收入值:SELECTo.nameoffer,count(c.id)clicks,if(notisnull(c.conversionDate),revenue=revenue+o.commission,revenue)rev
3我只是想知道这种类型的查询是否可行。如果是这样,将不胜感激。SELECTfield1,field2,field3FROMmaintableWHEREmaintable.field1=passed_in_parameterIF(maintable.field2=1)THEN//doanythinglikejoinsINNERJOINwidgettableonwidgettable.widgetid=field3ELSEIF(maintable.field2=2)THEN//doanythinglikejoinsINNERJOINgizmottableongizmottable.gizm
我有这张tableidfruit---------1apple2banana我想选择行直到找到2个香蕉,例如SELECTidFROMtable_fruitUNTILnumber_of_bananas=2所以结果将是1,2,3,4,5,6,7我怎样才能做到这一点?谢谢我希望我能对所有回答我问题的人表示感谢。我已经测试了所有这些,它们都运行良好(得到了预期的结果)。虽然Devart和ypercube的答案对我来说似乎有点复杂和难以理解。由于AnandPhadke是第一个提供有效解决方案的人,我将选择他的答案作为接受。你们太棒了,谢谢! 最佳答案
我有一个MySQL数据库,我想将一些值插入到一个表中,假设我插入的特定值与另一个表中的值不匹配。这是一个简化/示例结构:Table:invitesid:int(auto-incrementindex)name:varcharmessage:varcharTable:donotinvitename:varchar(index)假设“名称”与“donotinvite”表中的任何“名称”不匹配,是否可以通过一条语句有条件地将“名称”和“消息”对插入“邀请”表?也许是这样的?INSERTINTOinvitesSETname='joe',message='Thisisaninvite'WHERE