草庐IT

join_group

全部标签

php - 违反完整性约束 : How to join two tables

我正在为laravel中的一个学校项目制作一个程序,所以我尝试加入两个表:产品和目的地Product表包含以下列:id、nameDestinations表包含以下列:Destinations:id,product_id,destination,quantity,target_person我需要加入product_id和idproducts=DB::table('products')->leftJoin('destinations','id','=','destinations.product_id')->get();但是当我尝试使用LEFTJOIN时,出现以下错误:SQLSTATE[2

mysql - 在 "GROUP BY"子句中重用 select 表达式的结果?

在MySQL中,我可以有这样的查询:selectcast(from_unixtime(t.time,'%Y-%m-%d%H:00')asdatetime)astimeHour,...fromsome_tabletgroupbytimeHour,...orderbytimeHour,...GROUPBY中的timeHour是选择表达式的结果。但是我刚刚尝试了一个类似于SqarkSQL的查询,我得到了一个错误Error:org.apache.spark.sql.AnalysisException:cannotresolve'`timeHour`'giveninputcolumns:...我

php - MySQL从两个表中使用JOIN选择随机行

几天来我一直在寻找这个问题的解决方案,但找不到任何可以减少运行查询所需时间的方法。我有2个表:"product_db":unique_id-[index]imageurl_titlestatus-[index]"product_page"idproduct_unique_id-[index]page_id-[index]我要选择的是来自product_db的随机图像,其中status='Online'并且产品必须位于页面id=3中product_db有超过90,000种产品,product_page有超过150,000行。我现在使用的查询是:SELECTimageFROMproduct

mysql - 'on clause' 中带有 FULL JOIN MySQL 关键字的未知列

我对MySQL中使用的FULLJOIN关键字有疑问SELECTName,Surname,Notes.PaymentFROMPersonsFULLJOINNotesONPersons.id=Notes.P_Id它给我这个错误:Unknowncolumn'Persons.id'in'onclause'但是如果我用LEFTJOIN或RIGHTJOIN调用,结果会正确显示。FULLJOIN有什么问题?谢谢 最佳答案 MySQL(还)不支持FULLJOIN。使用这样的东西:SELECTName,Surname,Notes.PaymentFRO

mysql - MySQL "GROUP BY NULL"是做什么的?

我有一些正在维护的遗留代码,其中有一个我不理解的SQL查询。我希望这里有人可以向我解释这样做的目的。查询如下所示:select*fromproduct_performancewheremerchantid=2151277andclickday>='2011-09-01'groupbynull;当我在末尾没有groupbynull的情况下运行此查询时,我得到44行。当我使用groupbynull运行它时,我得到1行——前一组中的第一行。这里发生了什么,使用这个分组的目的是什么? 最佳答案 它按常量值对整个查询进行分组,这使得它可以有效

mysql - 将 WHERE 子句添加到 JOIN 语句

我有2个表,employees和holidays。在查看为今年输入的假期后,我正在尝试选择一个员工列表、他们允许的假期和剩余假期。表格看起来像这样(只显示重要的行)employeesid,name,allowed_holidayholidayid,employee,num_days,date_to我的当前查询发现这些值很好,但我想添加一个WHERE子句,以便仅在date_to>xxxx-09-01ANDSELECTe.id,e.name,e.allowed_holiday,(e.allowed_holiday-SUM(h.num_days))ASremainingFROMemploye

MySQL SELECT from multiple tables, multiple GROUP BY and group_concat?

我想在MySQ中查询三个表。如下:**Table:Leaderboard**Name|Score------------James|1Steve|2Dave|5**Table:Actions**Name|Action|Time----------------------------James|Ateanapple|01:00James|Kickedadog|02:00Steve|Ateadog|03:00Steve|Kickedahen|01:00Dave|died|02:00**Table:Items**Name|Item|Time--------------------------

mysql - 在 MySQL 查询中,DISTINCT 是在 GROUP BY 之前还是之后应用的?

下面是我正在运行的查询。DISTINCT是在GROUPBY之前还是之后应用?表格如下所示:id,stateid不是唯一的,一个实体可以有多个状态相同或不同的条目。这种行为可能会彻底改变我的结果。如果在GROUPBY之前应用DISTINCT,那么在整个集合中它只会对每个entity计数一次(只会出现在一个状态)。如果它发生在之后,那么每个实体在每个状态中只会被计算一次,但可以在多个状态中被计算。SELECTstate,COUNT(DISTINCTentity_id)AScountFROMentitiesGROUPBYstateORDERBYcountDESC;我的目标是在每个state中

mysql - 在三个不同的列上使用 MAX、WHERE 和 GROUP BY 提高 SQL 查询的速度

我正在尝试加快在约2000万行的表上完成大约需要60秒的查询。对于这个例子,表格有三列(id、dateAdded、name)。id是主键。我添加到表中的索引是:(dateAdded)(name)(id,name)(id,name,dateAdded)我尝试运行的查询是:SELECTMAX(id)asid,nameFROMexampletableWHEREdateAdded日期因查询而异。这样做的目的是在添加日期或之前获取每个名称的最新条目。当我在查询中使用explain时,它告诉我它正在使用(id,name,dateAdded)索引。+----+-------------+------

mysql - 奇怪的 SQL 代码 : Why do they use a subquery instead of join?

我遇到了下面的MySQL代码:SELECTServiceFeeFROMShowsWHEREID=(SELECTShowIDFROMOrdersWHEREID=?)这让我很奇怪,因为编写这段代码的人通常使用SQL连接。我会重写它SELECTServiceFeeFROMShowsINNERJOINOrdersONShows.ID=Orders.ShowIDWHEREOrders.ID=?我的问题:为什么要用子查询编写这段代码以及用连接重写它是否完全安全(在所有情况下产生相同的结果)是否完全安全?有什么注意事项吗? 最佳答案 “这段代码是