小编ype*_*eᵀᴹ的帖子

MySQL外键引用

我是新蜂我在使用sql server 2000之前我的问题是在sql server 2000中创建两个表时说位置和项目表项目有一个外键引用位置表时在项目中插入值也更新了这是不需要的在项目表中的外键中插入类似的值为什么我在mysql中使用insert命令在位置插入值时不可能,当在项目上使用select命令时它不显示外键中的值请检查下面的代码

mysql> create table location(
    -> id int not null,
    -> primary key(id))
    -> engine=innodb;
Query OK, 0 rows affected (0.11 sec)


mysql> create table projects(
    -> id int,
    -> location_id int,
    -> foreign key(location_id) references location(id) on update cascade on del
ete cascade)
    -> engine=innodb;
Query OK, 0 rows affected (0.31 sec)


mysql> insert into location values('1')
Query OK, 1 row affected (0.34 sec)

mysql> select * from location;
+----+
| id |
+----+
| …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-key-relationship

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

SELECT子句使用IN ...非常慢?

你们可以查看以下对Oracle DB的查询并指出错误:

SELECT t1.name FROM t1, t2 WHERE t1.id = t2.id AND t2.empno IN (1, 2, 3, …, 200)
Run Code Online (Sandbox Code Playgroud)

查询统计:

  • 所用时间:10.53秒.

指数:

  • t2.empno 被编入索引.

  • t1.id 被编入索引.

  • t2.id 被编入索引.

更新


上面的查询只是我使用的查询的示例副本.下面是一个更真实的形式

解释计划 解释计划

查询:

SELECT 
    PRODUCT_REPRESENTATION_SK 
FROM 
    Product_Representation pr 
    , Design_Object do
    , Files files  
    ,EPS_STATUS epsStatus 
    ,EPS_ERROR_CODES epsError
    ,VIEW_TYPE viewTable  
WHERE  
    pr.DESIGN_OBJECT_SK = do.DESIGN_OBJECT_SK 
    AND  pr.LAYER_NAME !='Layer 0' 
    AND  epsStatus.EPS_STATUS_SK = pr.EPS_STATUS  
    AND epsError.EPS_ERROR_CODE = pr.EPS_ERROR_CODE 
    AND viewTable.VIEW_TYPE_ID = pr.VIEW_TYPE_ID 
    AND  files.pim_id = do.PIM_ID 
    AND  do.DESIGN_OBJECT_ID IN
        (
147086,149924,140458,135068,145197,134774,141837,138568,141731,138772,143769,141739,149113,148809,141072,141732,143974,147076,143972,141078,141925,134643,139701,141729,147078,139120,137097,147072,138261,149700,149701,139127,147070,149702,136766,146829,135762,140155,148459,138061,138762.............................................  200 such …
Run Code Online (Sandbox Code Playgroud)

sql oracle sqlperformance sql-tuning

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

选择30天之前的所有记录

我需要选择30天以前的所有记录.我有下面的代码,但它不起作用.在updatestatus中,我的日期为12/26/2011.我创建了一个30天的日期

$onemonthago="01/01/2012";
$sth = $dbh->prepare(qq(
        SELECT * 
        FROM people 
        WHERE STR_TO_DATE (updatestatus,'%m/%d/%y') 
              <= STR_TO_DATE ( "$onemonthago",'%m/%d/%Y')
                    )  );
Run Code Online (Sandbox Code Playgroud)

mysql perl

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

检查多列值

我正在尝试获取某些多个col2值的col1值.例如:我想看到col2的"1,2,3,4"值的col1值(在col1中为"1").col2的"1,2"的另一个例子:col1值是"1,2".我如何设法在SQL语法中执行此操作?

示例图片

mysql sql-match-all

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

如何合并两个选择查询,从而得到一个表

嗨我有两个选择查询,我想将它们合并到一个有5列的表中 Id, ClientId, Height, EyeColor, HairColor

查询是:

SELECT ClientCharacteristic.Id
     , ClientCharacteristic.ClientId
     , ClientCharacteristic.Height
     , GeneralLookup.LookupItem as EyeColor  
FROM dbo.ClientCharacteristic
  INNER JOIN dbo.GeneralLookup
    ON GeneralLookup.Id=ClientCharacteristic.glEyeColorId 



SELECT ClientCharacteristic.Id
     , ClientCharacteristic.ClientId
     , ClientCharacteristic.Height
     , GeneralLookup.LookupItem as HairColor  
FROM dbo.ClientCharacteristic
  INNER JOIN dbo.GeneralLookup
    ON GeneralLookup.Id=ClientCharacteristic.glHairColorId
Run Code Online (Sandbox Code Playgroud)

sql asp.net merge

0
推荐指数
2
解决办法
3161
查看次数

SQL DISTINCT,GROUP BY或....?

我有一个包含以下列的数据库

SKU | designID | designColor | width | height | price | etc.
Run Code Online (Sandbox Code Playgroud)

SKU数字是唯一的并且designID重复.

基本上,我想要DISTINCT或者设计GROUP BYID并获得行的其余部分的值,即使它们没有重复.

例:

123 | A-1 | RED | 2 | 3 | $200 | etc.
135 | A-2 | BLU | 8 | 4 | $150 | etc.
Run Code Online (Sandbox Code Playgroud)

毕竟,我应该可以通过任一列对它们进行排序.我已经尝试过GROUP BYDISTINCT,但他们不返回该行的值的其余部分.

例:

SELECT DISTINCT designID
FROM tbl_name
Run Code Online (Sandbox Code Playgroud)

哪个会回归

A-1  
A-2
Run Code Online (Sandbox Code Playgroud)

没有其他数据.

GROUP BY 例:

SELECT designID, designColor
FROM tbl_name
GROUP BY designID, designColor
Run Code Online (Sandbox Code Playgroud)

哪个会回归 …

sql t-sql sql-server-2008 greatest-n-per-group

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

MySQL更新语法错误

我正在使用php在数据库上运行基本更新但我得到的SQL语法错误,我不能为我的生活看到什么是错的.db中的字段称为orders,它设置为int(8).我尝试将其更改为smallint和varchar,但是增加但没有快乐.我也试过在查询中修改'和'.代码如下......

    $query = "UPDATE gigs SET order='$order' WHERE gig_id='$id'";
    if ($r = mysql_query($query) ) {
        echo  "<p>UPDATED:" . $row['year'] ." - " . $row['month'] . " - " .  $row['day'] . " = $order</p>";
    } else {
        echo "<p>" . mysql_error() . "<br />$q</p>";
    }
Run Code Online (Sandbox Code Playgroud)

$ order是年月和日值合并为一个整数值,例如12 apr 2013 = 20130412.

这是我收到的错误消息

您的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册,以便在'order ='20040802附近使用正确的语法'第1行的WHERE gig_id = '10''UPDATE gigs SET order ='20040802'WHERGIG_id ='10'

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'order ='20040804附近使用正确的语法'第1行的WHERE gig_id = '11''UPDATE gigs SET order ='20040804'WHERGIG_id ='11'

php mysql

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

MySQL Field()排序

我想排序列值出现在我的页面中,首先它会查找活动,然后挂起,然后卖出,然后即将推出.但它显示不然.这是我的代码

SELECT 
    * 
FROM custom 
ORDER BY 
    FIELD(status,'Active','Pending','Sold','Upcoming') DESC
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

在SQL中计算时间平均值(7)

我正在建立一个考勤系统,我将在其中添加员工上下班时间的月度记录.在月底,将创建平均时间和超时.

请告诉我如何申请avg()数据类型time(7)

declare @tblPK table
(
    timeinat varchar(13) not null,
    timeoutat varchar(13) not null
) ;

insert into @tblPK 
select cast((onattendance) as varchar(13))ONTime, 
       cast((offattendance) as varchar(13))OFFTime 
from t_attendancedetails ;

select * from @tblPK ;
Run Code Online (Sandbox Code Playgroud)

这只是输出所有条目.

sql t-sql sql-server

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