我目前有一个页面显示一个名为"tblplayers"的表中的玩家信息.我目前使用的查询是:
$result = mysql_query("SELECT * FROM tblPlayers WHERE lng_RecordID_PK = '".$playerid."' ");
Run Code Online (Sandbox Code Playgroud)
我有一个名为"tblMatches"的第二个表,其中包含玩家的匹配结果.我希望记录集包含来自"tblMatches"的行WHERE"P1_ID"或"P2_ID"等于"tblPlayers"中的"lng_RecordID_PK"字段.
如何修改我的$ result查询以便它返回:
???
谢谢你的协助.
Table A
(id, name)
1 | alice
2 | bob
Table B
(a_id, last_name)
1 | in wonderland
Run Code Online (Sandbox Code Playgroud)
我想知道SQL查询(使用连接)来获取"A中未连接到B的项目"的结果
a.2|a.bob
Run Code Online (Sandbox Code Playgroud) 只是寻找更好的方向,而不是解决方案.
我有两张桌子 - A,B
表A具有IP地址和时间(时间将等于或在开始时间和结束时间之间)
表B包含用户名,开始时间,结束时间,IP地址
这项工作,我试图找出表A中的IP地址和时间对应表B中的用户名.
更一般地说,谁(用户名)在特定时间使用特定的IP地址.
假设我的解释有意义,这看起来像使用连接的东西可以在两个表之间完成吗?如果不是,那么下一个最佳步骤是什么.我试图避免从一个表到另一个表的大量手动查询.
欢迎任何方向,谢谢.
在MySQL中我编写了以下查询.使用它再次重新选择所有数据JOIN
对我来说似乎不是最有效的方法.你会如何重写它以提高效率?
SELECT * FROM (
SELECT COUNT(*) AS 'total' FROM `the_table`
WHERE `subject_id`=7 ) a
JOIN (
SELECT COUNT(*) AS 'unread' FROM `the_table`
WHERE `subject_id`=7 AND `read`=0 ) b
Run Code Online (Sandbox Code Playgroud)
编辑:
我正在尝试获得一个包含2列的表:'total'和'unread',其中一行具有INT值,例如
总数:200未读:20
我的数据库表是这样的:
#tblMain ID Value CreatedDate ________________________________________ 1 25 2011-10-11 14:00:45.910 1 20 2011-10-26 14:00:12.910 2 27 2011-10-14 14:00:32.910 2 39 2011-10-14 14:00:28.910 2 54 2011-10-17 14:00:27.910 3 67 2011-10-25 14:00:16.910 3 79 2011-10-25 14:00:02.910 4 34 2011-10-26 14:00:14.910 4 24 2011-10-26 14:00:06.910 4 88 2011-10-26 14:00:47.910 5 12 2011-10-26 14:03:14.910 5 34 2011-10-26 14:04:06.910 5 55 2011-10-26 14:04:47.910
我将从不同的表中获取ID列表.所以现在我想基于ID将上表加入到这个表中,这样我就可以为每个不同的ID获取1行,其中包含MIN(CreatedDate)行的值字段,即该特定ID的最旧值.即对于每一行,所选行将是:
SELECT TOP(1) * from #tblMain ORDER BY CreatedDate ASC where ID = 1
SELECT TOP(1) * from #tblMain ORDER BY CreatedDate …
Run Code Online (Sandbox Code Playgroud) 我在hibernate之间有一对多的映射Parent and a Child
.在数据库中,Child table
有parentId
一些其他细节.我怎样才能将它们连接到多个列的条件或HQL中.
即,在parentId
和genderInd
等.
Givern低于我的代码,
在Parent
课堂上,
private parentId;
private Set<Child> childSet;
Run Code Online (Sandbox Code Playgroud)
在Child
课堂上,
private Long childId;
private Parent parent;
private String name;
private String genderInd;
Run Code Online (Sandbox Code Playgroud) 什么时候应该使用一对一的关系?什么时候应该添加新字段?什么时候应该将它们分成新表?
在我看来,只要你对字段进行分组和/或该组往往是可选的,你就会使用它.是?
我正在尝试为一个对象创建表,但是分组/分离一切都需要我大约20个连接,有些甚至是4个级别.
难道我做错了什么?我该如何改进?
我从两个表中选择了一个MYSQL查询.第二个表可能不一定具有与第一个表匹配的连接ID.我们以这两个为例:
++++++++++++++++++
table: t1
column: id
column: test_id
column: info
table t2
column: t2id
column: test_id
column: extra_info
++++++++++++++++++
Run Code Online (Sandbox Code Playgroud)
我将以下这些行插入到表中(这只是伪目前的所有伪):
insert into t1 values (1, 4, "asd")
insert into t1 values (2, 25, "dfg")
insert into t2 values (1, 25, "123")
Run Code Online (Sandbox Code Playgroud)
现在我的目标是将两个表连接在一起,但我遇到了连接问题.如果第二个表(t2)似乎没有匹配的行,它会使原始表中的连接列为NULL吗?它为什么这样做?这是一个示例查询:
SELECT * FROM `t1` LEFT JOIN `t2` ON (`t1.test_id` = `t2.test_id`) WHERE `t1.id` = 1;
Run Code Online (Sandbox Code Playgroud)
现在我绝对没有问题,如果它们匹配,但由于某种原因,如果没有存在的行,那么来自t1的test_id被设置为NULL ...我的目标是加入这两个表,如果有东西要加入. 编辑:如果没有任何东西可以加入,那么我想通过将所有t2列设置为NULL或只返回t1数据来从t1返回数据. 我需要做一个子查询吗?如果是的话会是什么?谢谢 :)
当我加入2个表时,我收到一个错误
select * from picture where id=(SELECT id FROM user where age= 40 )
Run Code Online (Sandbox Code Playgroud)
#1242 - 子查询返回超过1行
加入这两个大数据表的最佳方法是什么?我希望得到所有结果
假设我有两张桌子.学生表和观察表.如果学生表看起来像:
Id Student Grade
1 Alex 3
2 Barney 3
3 Cara 4
4 Diana 4
Run Code Online (Sandbox Code Playgroud)
观察表看起来像:
Id Student_Id Observation_Type
1 1 A
2 1 B
3 3 A
4 2 A
5 4 B
6 3 A
7 2 B
8 4 B
9 1 A
Run Code Online (Sandbox Code Playgroud)
基本上,我从查询中得到的结果如下:
Student Grade Observation_A_Count
Alex 3 2
Barney 3 1
Cara 4 2
Diana 4 0
Run Code Online (Sandbox Code Playgroud)
换句话说,我想从学生表中收集每个学生的数据,并为每个学生计算观察表中A观察的数量,并将其与其他信息相关联.我该怎么做呢?
join ×10
mysql ×6
sql ×5
php ×2
database ×1
filter ×1
group-by ×1
hibernate ×1
hql ×1
one-to-one ×1
phpmyadmin ×1
sql-server ×1