标签: join

错误代码:1064.您的SQL语法有错误; 3表mysql加入

当我尝试使用mysql触发查询以连接3个表时,我收到以下错误:

错误代码:1064.您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便mahara.group_member在第6行的'group INNER JOIN as group_members ON group_id = member' 附近使用正确的语法

Mysql是:

SELECT `mahara.group.id` as group_id,
       `mahara.group.name` as group_name,
       `mahara.group_member.member` as member_id,
       `mahara.group_member.group` as member_groupid,
       `mahara.usr.id` as user_id
FROM `mahara.group` as group
     INNER JOIN `mahara.group_member` as group_members ON group_id = member_id,
     INNER JOIN `mahara.usr` as users ON member_id = user_id
LIMIT 0, 200;
Run Code Online (Sandbox Code Playgroud)

对于我的生活,我看不出我做错了什么.任何帮助赞赏.

干杯

mysql join

-3
推荐指数
1
解决办法
5529
查看次数

如何在一个查询中使用内连接和交叉连接?

我有一个任务是编写一个使用单个内连接和交叉连接的查询.我已经写过的应该返回相同结果的查询如下所示:

SELECT T.PRICE, S.ROW, S.NUMBER, M.TITLE  
FROM 
[cinema_no_keys].[dbo].[TICKET] T cross join 
[cinema_no_keys].[dbo].[MOVIE] M cross join 
[cinema_no_keys].[dbo].[SEAT] S cross join 
[cinema_no_keys].[dbo].[SHOW] SH
WHERE
T.ID_SEAT = S.ID_SEAT AND
M.ID_MOVIE = SH.ID_MOVIE AND
SH.DATE_HOUR = T.DATE_HOUR
Run Code Online (Sandbox Code Playgroud)

sql join inner-join cross-join

-3
推荐指数
1
解决办法
4006
查看次数

将8个表组合成1个查询

嘿,在我最近开始的一个项目中,我很高兴.

我有8个表需要连接,以便所有表内容将显示1个单一查询

但我努力想出正确的查询,因为我对SQL很新

我已经制作了一个数据库图表,显示了密钥彼此之间的关系,不介意那些没有分配箭头的信息.

图

所以基本上我只想加入所有8个表,这样我就可以通过php脚本编写例如.

$ result = mysql_query("SQL");

$ row = mysql_fetch_array($ result);

$ id = $ row ["value"]; 当然我会使用某种循环来显示多个项目

它将以我的首页上的多个项目结束,这些项目应该由该类别中的最新项目显示,我希望并假设这是一个简单的连接位置.

但总而言之,我正在寻找的是一个SQL,它将8个表与1个查询连接起来,这样我就可以使用8个表中任意一个的任何信息.

我想我找到了一个有效的解决方案

SELECT *
FROM Deal d
INNER JOIN DealPrice dp ON d.Id = dp.DealId
LEFT JOIN DealMedia dm ON d.Id = dm.DealId
LEFT JOIN StorageFile sf ON dm.Id = sf.binId AND sf.name = 'original_t'
LEFT JOIN DealLocation dl ON d.Id = dl.dealid
LEFT JOIN Location l ON dl.location = l.id
LEFT JOIN DealCategoryAssoc dca ON d.Id = …
Run Code Online (Sandbox Code Playgroud)

sql join

-3
推荐指数
1
解决办法
197
查看次数

如何在不启动新行的情况下在新的mysql db列中插入值?

我在mysql数据库中有两个表:Table Cars和Table Comments.表格车辆具有自动递增的列ID和名称.对于表格汽车中的每个名称,我希望在表格注释中有一列,并在用户发布时发布评论.如何在不创建新行的情况下在空列中插入新值.基本上发生的事情是说我有这个数据库

X _ _ 
X _ _
X _ _
Run Code Online (Sandbox Code Playgroud)

而不是张贴

X _ X 
X _ _
X _ _
Run Code Online (Sandbox Code Playgroud)

它正在插入新值

X _ _ 
X _ _
X _ _
_ _ X
Run Code Online (Sandbox Code Playgroud)

然后是下一个

    X _ _ 
    X _ _
    X _ _
    _ _ X
    _ X _
Run Code Online (Sandbox Code Playgroud)

我查看了join函数,但似乎只连接了两列而不是一列的列.我也见过

SELECT @row := @row + 1 as row, t.*
FROM some_table t, (SELECT @row := 0) r
Run Code Online (Sandbox Code Playgroud)

但它没有得到很好的解释.我该如何工作?

php mysql sql join

-3
推荐指数
1
解决办法
104
查看次数

C#Join两个List <int>,删除重复项,NO LINQ

这是一个想法:我有两个List<int>,我想List<int>在上面提到的列表中加入第三个,没有重复.我知道如何使用,.Union但我想在不使用LINQ的情况下实现这一点.到目前为止我有这个:

Console.WriteLine("Enter numbers for first list: ");
List<int> firstList = new List<int>{20, 40, 10, 10, 30, 80};
//Console.ReadLine().Split(' ').Select(int.Parse).ToList();
Console.WriteLine("Enter numbers for second list: ");
List<int> secondList = new List<int> {25, 20, 40, 30, 10 };
//Console.ReadLine().Split(' ').Select(int.Parse).ToList();
List<int> newList = new List<int>();
foreach (var item in firstList)
{
    if (secondList.Contains(item))
    {
        continue;
    }
}
newList.Sort();
newList.ForEach(p => Console.WriteLine(p));
Run Code Online (Sandbox Code Playgroud)

我实际上卡住了...我认为我需要迭代每个列表,如果项目相同,只需将它们添加到新列表中......但我似乎无法弄清楚如何做如果列表是不同的计数.有任何想法吗?

c# int join list

-3
推荐指数
1
解决办法
266
查看次数

postgres中反加入的最快方法

我有两张桌子。用户和帐户。

账户表:-

id  | accountName | userId
--------------------
1   |    natt     |  1
2   |    kelly    |  2
3   |    john     |  3
Run Code Online (Sandbox Code Playgroud)

用户表:-

id  |    username         | 
--------------------
1   |    natt@xyz.com     |
2   |    kelly@xyz.com    |
3   |    john@xyz.com     |
4   |    randy@xyz.com    |
5   |    jamie@xyz.com    |
Run Code Online (Sandbox Code Playgroud)

预期输出:-

userId  |
---------
4       |
5       |
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,表格idusers行为与表格foreign key中的一样accounts。我想获取每个没有关联的用户account(在我的示例中为 4,5)。我可以通过IN or NOT IN但这不是最快的方法。有人可以告诉我最快的方法吗?我正在使用 postgres。

sql postgresql join

-3
推荐指数
1
解决办法
1651
查看次数

sql加入并习惯了它们

当面试官要我加入三张桌子时,我接受了一次大谈.我可以口头描述不同类型的连接,但我冻结了.我正在寻找让我习惯这些类型的问题的东西,所以我可以预见如何解决它们.有人有可能推荐的任何SQL练习吗?

sql sql-server join

-4
推荐指数
1
解决办法
294
查看次数

SQL Server查询和OUTER JOIN

鉴于桌子的东西

IdStuff  StuffName  IdLanguage
-------  ---------  ----------
1        Stuff 1    1
1        Stuff 2    2
Run Code Online (Sandbox Code Playgroud)

和观点:vwLanguages

IdLanguage   Name
----------   ----
1            Language 1
2            Language 2
3            Language 3
Run Code Online (Sandbox Code Playgroud)

我想获得:

IdStuff   StuffName  IdLanguage
-------   ---------  ----------
1         Stuff 1    1
1         Stuff 2    2
1         NULL       3
Run Code Online (Sandbox Code Playgroud)

我试过RIGHT JOIN,但我没有成功......

SELECT
    S.IdStuff, S.StuffName, vwLanguages.IdLanguage
FROM
    Stuff S
    RIGHT JOIN vwLanguages ON vwLanguages.IdLanguage = S.IdLanguage
Run Code Online (Sandbox Code Playgroud)

问题是只显示了2行,语言1和语言2 ...

sql-server join

-4
推荐指数
1
解决办法
78
查看次数

左连接在SQL Server中像oracle左连接(+)

我有以下查询.我想像Oracle一样离开加入.我的意思是内连接与左连接如下.有没有办法在MS SQL Server中编写捷径左连接,如下面的Oracle是一个查询示例

SELECT tbla.Name FROM
    tbla,tblb,tblc,tbld
    WHERE 
    tbla.ID = tblb.ID
    and tbla.ID = tblc.ID(+)--left join like oracle
    and tbla.ID = tbld.ID
Run Code Online (Sandbox Code Playgroud)

sql sql-server join left-join sql-server-2014

-4
推荐指数
1
解决办法
710
查看次数

mysql 中有 3 个表的多个连接

我有 3 张桌子

branch-
  br_id,
  br_name

users 
 user_id
 user_name
 user_type (2 types 'owner' 'admin')
 user_branch (associated branch )
 user_branches (comma seperated branch ids in case of 'admin' type )

item 
  it_id
  it_amount
  it_owner
  it_admin 
  it_activated
Run Code Online (Sandbox Code Playgroud)

这里每个项目都属于用户类型“所有者”

每个项目还与用户类型“admin”相关联

我想要的是分行列表以及相关的总金额和总计数

**Branch**             **total**  **total amount**
some branch Name    5   500
another Branch Name 7   780
Run Code Online (Sandbox Code Playgroud)

我如何在单个查询中做到这一点

我试过这个显示所有分支的数量

SELECT br_name,
count(it_id),
SUM(it_amount),
FROM branch
LEFT JOIN users ON FIND_IN_SET(br_id,user_branches)>0
LEFT JOIN item ON it_admin=ad_id
WHERE it_activated=1
GROUP BY br_name
Run Code Online (Sandbox Code Playgroud)

但我在所有分支机构的数量和金额都相同

mysql sql database join

-4
推荐指数
1
解决办法
222
查看次数