Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

9
在SQL Server中执行嵌套case语句逻辑的最佳方法
我正在写一个SQL查询,其中需要根据很多条件来计算返回的一些列。 我目前正在使用嵌套的case语句,但是它变得凌乱。有没有更好(更有条理和/或更易读)的方法? (我正在使用Microsoft SQL Server,2005) 一个简化的例子: SELECT col1, col2, col3, CASE WHEN condition THEN CASE WHEN condition1 THEN CASE WHEN condition2 THEN calculation1 ELSE calculation2 END ELSE CASE WHEN condition2 THEN calculation3 ELSE calculation4 END END ELSE CASE WHEN condition1 THEN CASE WHEN condition2 THEN calculation5 ELSE calculation6 END ELSE …


12
MySQL-行到列
我尝试搜索帖子,但仅找到SQL Server / Access的解决方案。我需要MySQL(5.X)中的解决方案。 我有一个包含3列的表(称为历史记录):hostid,itemname,itemvalue。 如果我选择(select * from history),它将返回 +--------+----------+-----------+ | hostid | itemname | itemvalue | +--------+----------+-----------+ | 1 | A | 10 | +--------+----------+-----------+ | 1 | B | 3 | +--------+----------+-----------+ | 2 | A | 9 | +--------+----------+-----------+ | 2 | c | 40 | +--------+----------+-----------+ …
185 mysql  sql  pivot-table  etl  crosstab 

3
插入…在重复键上(不执行任何操作)
我有一个带有两列唯一键的表: CREATE TABLE `xpo`.`user_permanent_gift` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `fb_user_id` INT UNSIGNED NOT NULL , `gift_id` INT UNSIGNED NOT NULL , `purchase_timestamp` TIMESTAMP NULL DEFAULT now() , PRIMARY KEY (`id`) , UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC) ); 我想在该表中插入一行,但是如果键存在,则什么也不做!我不希望因为键存在而产生错误。 我知道有以下语法: INSERT ... ON DUPLICATE KEY UPDATE …
184 mysql  sql  unique-key 

18
ALTER TABLE语句与FOREIGN KEY约束冲突
尝试在tblDomare表中添加外键时遇到问题;我在这里做错了什么? CREATE TABLE tblDomare (PersNR VARCHAR (15) NOT NULL, fNamn VARCHAR (15) NOT NULL, eNamn VARCHAR (20) NOT NULL, Erfarenhet VARCHAR (5), PRIMARY KEY (PersNR)); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (6811034679,'Bengt','Carlberg',10); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (7606091347,'Josefin','Backman',4); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (8508284163,'Johanna','Backman',1); CREATE TABLE tblBana (BanNR VARCHAR (15) NOT …
184 sql  sql-server  database 


25
如何从Oracle中的表中获取列名?
我需要查询数据库以获取列名,不要与表中的数据混淆。举例来说,如果我有一个名为表中EVENT_LOG包含eventID,eventType,eventDesc,和eventTime,然后我会想检索查询,并没有其他的字段名。 我在以下位置找到了如何执行此操作: Microsoft SQL服务器 的MySQL PostgreSQL的 但是我需要知道:如何在Oracle中完成此操作?
184 sql  database  oracle 



10
不能简单地使用PostgreSQL表名(“关系不存在”)
我正在尝试运行以下PHP脚本来执行简单的数据库查询: $db_host = "localhost"; $db_name = "showfinder"; $username = "user"; $password = "password"; $dbconn = pg_connect("host=$db_host dbname=$db_name user=$username password=$password") or die('Could not connect: ' . pg_last_error()); $query = 'SELECT * FROM sf_bands LIMIT 10'; $result = pg_query($query) or die('Query failed: ' . pg_last_error()); 这将产生以下错误: 查询失败:错误:关系“ sf_bands”不存在 在所有示例中,我都能找到有人指出该关系不存在的错误,这是因为他们在表名中使用大写字母。我的表格名称没有大写字母。有没有一种方法可以查询我的表而不包含数据库名称,即showfinder.sf_bands?

15
字符串作为SQL数据库中的主键
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 上个月关闭。 改善这个问题 我对数据库及其工作原理并不十分熟悉。从性能的角度(插入/更新/查询)角度来看,将字符串用作主键是否比整数慢?


13
MySQL选择列不为空
在MySQL中,是否可以仅在存在某些内容的地方选择列? 例如,我有以下查询: select phone, phone2 from jewishyellow.users where phone like '813%' and phone2 我试图仅选择电话以813开头并且phone2中包含某些内容的行。
182 sql  mysql 

13
如何转储某些SQLite3表的数据?
我该如何转储数据库的某些SQLite3表(而非所有表)的数据,而仅转储数据,而不是模式?转储应采用SQL格式,因为以后应轻松将其重新输入数据库并应从命令行完成。就像是 sqlite3 db .dump 但不转储架构并选择要转储的表。
182 sql  sqlite 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.