我有不同的表具有相同的结构,我想通过他们的一个列加入他们.
问题是他们不在该列中共享信息.
Table 1 - Type A:
Name | Value
Table 2 - Type B:
Name | Value
Run Code Online (Sandbox Code Playgroud)
结果表:
(在一栏中)
nameFromA
nameFromB
...
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试过:
SELECT TABLE1.NAME, TABLE2.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.NAME = 'SearchQuery'
OR TABLE2.NAME = 'SearchQuery' LIMIT 2;
Run Code Online (Sandbox Code Playgroud)
我知道我的查询是错误的,因为我正在调用更多我想要的列,但我不知道如何在一列中加入所有内容.我怎么能做到这一点?
我遇到了Django应用程序的问题.对模型Scope的查询极其缓慢,经过一些调试后我仍然不知道问题所在.
当我scope = Scope.objects.get(pk='Esoterik I')在django中查询db 时需要5到10秒.该数据库的主键少于10个条目和索引.所以这太慢了.在db上执行等效查询时,SELECT * FROM scope WHERE title='Esoterik I';一切正常,只需要大约50ms.
如果我使用一组结果进行查询,scope_list = Scope.objects.filter(members=some_user)然后执行例如print(scope_list)或迭代列表的元素,则会出现同样的问题.查询本身只需要几毫秒,但元素的打印或迭代再次需要5到10秒,但该集只有两个条目.
数据库后端是Postgresql.问题在本地开发服务器和apache上发生相同.
这里是模型的代码:
class Scope(models.Model):
title = models.CharField(primary_key=True, max_length=30)
## the semester the scope is linked with
assoc_semester = models.ForeignKey(Semester, null=True)
## the grade of the scope. can be Null if the scope is not a class
assoc_grade = models.ForeignKey(Grade, null=True)
## the timetable of the scope. can be null if the scope is not direct associated with …Run Code Online (Sandbox Code Playgroud) database django performance django-queryset django-postgresql
我有一个列名国家/地区,其中有3个条目,如下所示.在每个国家,我都有一组人在不同的栏目中工作.我想要一个计数查询,它可以计算人们在一个查询中每个国家的工作方式.
country
________
India
America
China
Run Code Online (Sandbox Code Playgroud) 是否有可能将像'1101'这样的字符串转换为MySQL中的BIT(4)等价物?我已经检查过CONVERT/CAST函数,但他们不允许这样做.
谢谢!
我是mysql的新手.这是我的表:
类别表:
id | name | prent
----------------------------
1 | os | null
2 | linux | 1
3 | ubuntu | 2
4 | xubuntu | 3
5 | lubuntu | 3
6 | zubuntu | 3
7 | zubuntu 2 | 6
8 | suse | 2
9 | fedora | 2
10 | windowse | 1
11 | windowse xp | 10
12 | windowse 7 | 10
13 | windowse 8 | 10
14 | food …Run Code Online (Sandbox Code Playgroud) 我有两个表,COURSE和OFFERING。他们的专栏是:
COURSE (
courseId,
title,
cost,
duration
)
Run Code Online (Sandbox Code Playgroud)
和
OFFERING (
offeringID,
instructor,
startDate,
endDate,
courseId,
locationId
).
Run Code Online (Sandbox Code Playgroud)
我想配置一个触发器,它确保了有5天(从时间列时间课程COURSE表)不能在十二月提供的(从startDate列OFFERING表)。我提出了以下SQL查询:
CREATE OR REPLACE TRIGGER checkDuration
BEFORE INSERT OR UPDATE ON
(course c JOIN offering o
ON
c.courseId = o.courseId)
FOR EACH ROW
BEGIN
IF ((to_char(:new.startDate, 'fmMONTH') = 'DECEMBER') AND duration = 5)
THEN
raise_application_error(-20001, 'Courses of five days duration cannot be run in December');
END IF;
END;
Run Code Online (Sandbox Code Playgroud)
触发器已创建,但有错误。
在我的程序中,我审计传入的数据,可以是4种类型.如果数据满足所有必需条件,则会在表列中成功存储,以及将行输入表中的消息类型和时间戳.
由于诸如审计之类的连接问题等问题,数据也可能被错误地写入表中.程序将重试审核此数据,如果成功将写入新行,则成功.因此,您看到我现在有2行用于该特定数据消息,一行成功,一行有错误,两者都有不同的时间戳.(成功具有最新时间戳而不是错误记录.)
第三条消息被拒绝,并且如果传入的数据不符合要求的标准,则会写入记录,同样使用创建时间戳.
我想做的是编写一个Sybase SQL查询,仅回退每个收到的消息的记录,具有最高的时间戳.
因此,使用上面的错误示例,我不想返回错误记录,只有相应的成功记录从进程重试时才成功.
我想到了类似下面的东西......
SELECT distinct(*)
FROM auditingTable
WHERE timestamp = (SELECT MAX(timestamp) from auditingTable)
Run Code Online (Sandbox Code Playgroud)
虽然我知道这只会带回1条记录,整个表格中的时间戳最高.
我怎样才能收到收到的每封邮件的最新记录,无论其状态如何?
欢迎任何想法!
我在两台机器上有两个mysql数据库.假设首先是生产数据库,第二个是相同的克隆.我的php应用程序使用生产数据库默认.但我需要同时让两个dbs相同.这意味着我需要解决生产数据库不可用的情况(例如连接错误),所以我只需手动设置第二个,我的应用程序照常运行.我想让它"失败".
我该怎么做?我想每分钟都进行一次转储,但是当db与许多数据复杂时,这不是一个好的解决方案......
我Mysql2用来查询数据库ruby.我通过以下方式初始化连接:
client = Mysql2::Client.new(:host => "localhost", :database => 'mydb', :username => "root")
Run Code Online (Sandbox Code Playgroud)
查询成功完成后,如何关闭客户端连接?如果我不关闭它,我很快就会达到最大可能的打开连接数.
感谢@joonty:
client.close
我有一个程序,它使用本地数据库(sqlite3和我使用db模块).我想要做的是使用数据库而不知道它在哪里.
例如,如果我在我的程序中编码数据库的位置(如C:/ my documents/my program/localdb.db),它正常工作.
但是,如果我只写"localdb.db",即使数据库与使用数据库的.rkt文件位于同一文件夹中,它也找不到数据库.(我不知道如何,但在我的程序的早期版本中,它工作).
因此,我如何确保在不编码其位置的情况下使用数据库?
非常感谢!