标签: multiple-tables

MySQL GROUP & COUNT 多个表

我有一个由 3 部分组成的问题,这给我带来了麻烦 我知道如果我一次查询 1 个表,如何让这些表正常工作,但我似乎无法弄清楚如何将tagsmore_tags表结合起来以获得相同的结果.

下面列出了我遇到的 3 个主要问题。

问题1

我希望能够从tagsmore_tags表中对相同的标签进行分组。

问题2

我还希望能够显示每个表中不存在于另一个表中的标签。

问题 3

我还想计算标签在tagsmore_tags表格中出现的总次数。

MYSQL 表

SELECT `tags`.`tag_id`, `tags`.`tag_name`, COUNT(`tags`.`tag_name`) as 'num' 
FROM `tags` 
INNER JOIN `users` ON `tags`.`user_id` = `users`.`user_id` 
WHERE `users`.`active` IS NULL
GROUP BY `tags`.`tag_name` 
ORDER BY `tags`.`tag_name` ASC";


SELECT `more_tags`.`tag_id`, `more_tags`.`tag_name`, COUNT(`more_tags`.`tag_name`) as 'num' 
FROM `more_tags` 
INNER JOIN `users` ON `more_tags`.`user_id` = `users`.`user_id` 
WHERE `users`.`active` IS NULL
GROUP BY `more_tags`.`tag_name` 
ORDER BY …
Run Code Online (Sandbox Code Playgroud)

mysql group-by count multiple-tables

1
推荐指数
1
解决办法
5928
查看次数

来自多个表的 Sum 和 Count 的 SQL 查询

我有以下两个表:

1. BList

  • 预订编号
  • 成人号
  • 孩子号
  • 预定日期

2. 手柄

  • 预订编号
  • 售票状态
  • 最终售价
  • 最终网
  • 职员

我想要做的就是让distinct StaffSum of (SellingPrice)Sum of (NettPrice)Profit (Sum of sellingPrice)- Sum of (NettPrice)),大同没有它(AdultNo + ChildNo),也算BookingID为担保的无

WHERE BookingDate >= fromDate AND BookingDate <= toDate 
    AND TicketingStatus='CP'
Run Code Online (Sandbox Code Playgroud)

看起来像这样的东西(底部的总数无关紧要,因为我会将它们写入 csv 格式,我将在那里处理总数)但我需要先弄清楚如何获取查询。

我要制作的清单

这是我可以从第二个表BHandle 中获得的查询

SELECT Staff, SUM(FinalSellingPrice) AS gross, SUM(FinalNett) AS cost
FROM BHandle
WHERE ticketingstatus ='CP'
GROUP BY Staff
Run Code Online (Sandbox Code Playgroud)

这是我对第一个表BList 的查询

SELECT (adultno+childno) AS …
Run Code Online (Sandbox Code Playgroud)

sql sum count multiple-tables

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

SQL Server:从两个表中选择并插入一个表

我有一个带有两个表变量的存储过程(@temp和@ temp2).

如何从两个临时表中选择值(两个表变量都包含一行)并将它们全部插入一个表中?

我尝试了以下但这没有用,我得到的错误是SELECT和INSERT语句的数量不匹配.

DECLARE @temp AS TABLE
    (
        colA datetime,
        colB nvarchar(1000),
        colC varchar(50)
    )
DECLARE @temp2 AS TABLE
    (
        colD int
    )
Run Code Online (Sandbox Code Playgroud)

...

INSERT INTO MyTable
    (
        col1,
        col2,
        col3,
        col4
    )
SELECT  colD FROM @temp2,
        colA FROM @temp,
        colB FROM @temp,
        colC FROM @temp
Run Code Online (Sandbox Code Playgroud)

蒂姆,非常感谢你提供的任何帮助.

sql sql-server multiple-instances multiple-tables insert-into

1
推荐指数
1
解决办法
9074
查看次数

SQL 获取每个 ID 的最新记录

我有三个包含数据的表,如下所示:

用户

Id   Name     Other_Columns
---------------------------
1    John     Blah
2    Ricky    Blah
3    Stella   Blah
4    Bob      Blah
Run Code Online (Sandbox Code Playgroud)

萨尔多

Id   User_id   Saldo
--------------------
1    3         0.00
2    1         9.00
3    2         0.15
4    4         3.50
Run Code Online (Sandbox Code Playgroud)

付款

Id   User_id   Amount     Paid_date
------------------------------------------
1    2         10.00      2014-09-01 08:10
2    2         25.00      2014-09-01 09:00
3    3         100.00     2014-05-10 12:47
4    1         20.50      2014-02-23 15:30
Run Code Online (Sandbox Code Playgroud)

如何得到这样的结果:

Id   Name     Saldo     Last Payment
------------------------------------------
1    John     9.00      23.02.2014 20.50
2    Ricky    0.15      01.09.2014 25.00
3    Stella …
Run Code Online (Sandbox Code Playgroud)

sql sql-server multiple-tables

1
推荐指数
1
解决办法
3083
查看次数

选择,其中id =来自其他选择的倍数

我累了,我无法绕过这个.我有两张桌子:

table menu
@id = id, @nr = id of parent
|======|======|  
|  id  |  nr  |
|======|======|
|  10  |   9  |
|  11  |  10  |
|  12  |  10  |
|  13  |  10  |
|======|======|

table content
@id = id, @mf = menu - first in tree, @mi = menu item linked to content
|======|======|======|
|  id  |  mf  |  mi  |
|======|======|======|
|  85  |   9  |  11  |
|  89  |   9  |  12 …
Run Code Online (Sandbox Code Playgroud)

mysql select multiple-tables

0
推荐指数
1
解决办法
830
查看次数

数据库设计 - 如何为2个表中的1个设置FK关系?

跨多个数据库表维护唯一ID字段的最佳方法是什么?

我的数据库包含企业和人员,并且两个实体都需要具有与之关联的唯一ID字段.此外,还有其他表(例如地址)可以使用其ID作为外键来引用业务或个人.

我想到的一些想法是:

  • 使用插入行时计算的非自动编号ID字段.这将解决我的独特问题,但随后我想通过相关属性(例如通过地址)查找内容时,我必须检查两个表中哪一个包含我正在寻找的记录.

  • 在AutoNumber ID中添加一个Prefix,以确定要查找ID的表,但是,关联表中的ID字段可能要么成为字符串,要么包含与它们关联的表的标志,我不知道如何影响表现.

  • 将人员和企业合并到一个表中.我的问题是人和企业有不同的属性,需要单独的字段,这种情况违背了我的本性,因为我更喜欢为单独的实体分别使用表.

  • 创建一个包含唯一ID字段的主表,Person或Business的ID字段,以及一个标记,说明它是哪一个.然后使用该ID作为我的外部引用#和所有关联表.

  • 一些更好的处理方式,我不知道,因为我不是一个dba

无论我采用什么解决方案都需要能够轻松处理大量记录(这将取代的数据库有几百万条记录)并且在MS Sql Server上

database database-design entity-relationship multiple-tables unique-key

0
推荐指数
1
解决办法
198
查看次数

SQLite数据库中的第二个表未创建

我知道以前有很多关于这个主题的问题,但这些问题/答案都没有帮助.我正在创建一个Android应用程序,我有一个包含多个表的数据库.第一个成功创建,但第二个从未创建.当我稍后尝试访问该表时,它给出了"表不存在"错误.我曾多次尝试更改数据库名称,更改数据库版本,清除缓存和数据,卸载并重新安装我的应用程序.什么都行不通.我使用sqlite浏览器查看我的数据库,第二个表不存在.我已经尝试在增加版本之后onCreate在我的方法中添加断点SQLiteDatabaseOpenHelper.调试器直接通过.以下是适用的代码:First Table DBHelper:

public class SessionDescriptionsDatabaseOpenHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "database.db";
private static final String TABLE_SESSIONDESCRIPTIONS = "session_descriptions";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_TITLE = "title";
private static final String COLUMN_DESCRIPTION = "description";

public SessionDescriptionsDatabaseOpenHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {


    // Database creation SQL statement
    final String DATABASE_CREATE = "create …
Run Code Online (Sandbox Code Playgroud)

database sqlite android multiple-tables sqliteopenhelper

0
推荐指数
1
解决办法
871
查看次数

T-SQL 动态联合多个表中的数据

我有带有名称的表:

DeviceLogs_1_2023
DeviceLogs_2_2023
Run Code Online (Sandbox Code Playgroud)

每个月都会在数据库中添加新表。

如何创建一个过程将多个表中的数据合并到一个表或视图中?

select * from DeviceLogs_7_2022
union all
select * from DeviceLogs_8_2022
Run Code Online (Sandbox Code Playgroud)

sql-server union stored-procedures multiple-tables

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

SQL - 如何根据来自其他两个表的数据从一个表中选择行?

我有一个SQL问题.这是一个简单的问题,但我根本不是一个SQL人.

这是情况,我有三个表:

CUSTOMER(
    PK(customer_id)
)

LOAN(
    PK(loan_id),
    customer_it,
    behavior_id
)

BEHAVIOR(
    PK(behavior_id),
    unpaid_number
)

// PK(x): x is a primary key.
Run Code Online (Sandbox Code Playgroud)

我想选择所有CUSTOMERs拥有的人unpaid_number >= 1.

任何人都可以告诉我一种方法来解决这个问题吗?

谢谢

sql multiple-tables

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