Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite组从另一个表中连接,多个连接_Sql_Sqlite - Fatal编程技术网

SQLite组从另一个表中连接,多个连接

SQLite组从另一个表中连接,多个连接,sql,sqlite,Sql,Sqlite,sql查询有问题。绝对不是SQL专家 选择 交易。*, 类别。*, 组_CONCAT(tags.tagName)作为concatTags 来自交易 内连接范畴 在事务上.category=categories.categoryId 左连接TransactionTagRelationas ttr ON transactions.transactionId=ttr.transactionId 左连接标记 在tags.tagId=ttr.tagId; (还有where和group by,但我认为这与

sql查询有问题。绝对不是SQL专家

选择
交易。*,
类别。*,
组_CONCAT(tags.tagName)作为concatTags
来自交易
内连接范畴
在事务上.category=categories.categoryId
左连接TransactionTagRelationas ttr
ON transactions.transactionId=ttr.transactionId
左连接标记
在tags.tagId=ttr.tagId;

(还有where和group by,但我认为这与问题无关)

我试图得到:

transactionId1, ...otherStuff..., "tagId1,tagId2,tagId3"  
transactionId2, ...otherStuff..., "tagId1,tagId3"

我现在看到的似乎是将标签合并到一个事务或其他事务中。我尝试在末尾按transactionID添加一个组,但由于某些原因,它给出了一个语法错误。我有一种感觉,我的连接不正确,但我无法得到更好的结果。

执行以下操作:

SELECT t.*, c.*,
       (SELECT GROUP_CONCAT(tg.tagName)
        FROM TransactionTagRelation ttr JOIN
             Tags tg
             ON tg.tagId = ttr.tagId
        WHERE t.transactionId = ttr.transactionId
       ) as concatTags
FROM transactions t JOIN
     categories c
     ON t.category = c.categoryId;

这消除了外部查询中的
分组依据
,并允许您在
选择
中使用
t.*
c.*
,如果我想在此查询中使用标记进行筛选,该怎么办?(为什么我的
分组依据
导致错误?)