由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 请帮我看看,什么地方错了?
相关主题
[Mysql] how to return NULL count in group by query (转载)a complex sql query, high hand help!!!
我也问一个sql querry的问题如何完成这个sql?
需要帮助 -- Oracle Query请教一个SQL Query
help about SQL for ACCESShelp on this query
A sql questionHow to write this query
[转载] Can anyone interpret this simple SQL?怎么用sql query 实现这个功能?
请问这两个SQL QUERY有什么错?誰來幫我開來開悄? Interesting SQL query
问一个转行到数据库方面的事,急求大家建议!请教一个query in mysql
相关话题的讨论汇总
话题: device话题: name话题: table话题: select话题: query
进入Database版参与讨论
1 (共1页)
c***c
发帖数: 6234
1
太不能理解了。
第一个query
select count(*) from my_table p。得到13500。很好
第二个query
select count(*) from my_table p where p.device_name in (select device_name
from device) 到13450。正常
第三个query
select count(*) from my_table p where p.device_name not in (select device_
name from device) 。 得到 0。嗯,我那50行去哪里了?
目的是,有些人把错误的device_name放进来了。我需要把那些错误的device找出来修
正。我们买的软件,不允许加foreign key之类的东东,而且有其他groups的人程序by
pass软件的interface,直接往database里塞东西。只好手工修改。
但是第三个query不应该返回 50 吗?
谢谢
c*****d
发帖数: 6045
2
因为那50行数据的device_name是null

by

【在 c***c 的大作中提到】
: 太不能理解了。
: 第一个query
: select count(*) from my_table p。得到13500。很好
: 第二个query
: select count(*) from my_table p where p.device_name in (select device_name
: from device) 到13450。正常
: 第三个query
: select count(*) from my_table p where p.device_name not in (select device_
: name from device) 。 得到 0。嗯,我那50行去哪里了?
: 目的是,有些人把错误的device_name放进来了。我需要把那些错误的device找出来修

c***c
发帖数: 6234
3
对不起忘了说了,device name是device table 的primary key。
在table里是required field。我可以保证所有行都有device name。
这也是我为什么不理解怎么少了50行的地方。

【在 c*****d 的大作中提到】
: 因为那50行数据的device_name是null
:
: by

s**m
发帖数: 1564
4
did other people put wrong device name in P table or Device table?
since device name column is primary key in the Device table, it's always non
-null, and unique. But P table is child table and device name can be null,
or duplicate. check those.
btw, if your company manages the database, your company should be able to
add foreign keys in the database although you might not be able to enforce
user input at front end UI.
gy
发帖数: 620
5
Second this!

non

【在 s**m 的大作中提到】
: did other people put wrong device name in P table or Device table?
: since device name column is primary key in the Device table, it's always non
: -null, and unique. But P table is child table and device name can be null,
: or duplicate. check those.
: btw, if your company manages the database, your company should be able to
: add foreign keys in the database although you might not be able to enforce
: user input at front end UI.

h******l
发帖数: 422
6
select a.device_name from my_device a left join device b on
a.device_name = b.device_name where b.device_name is null
这样就可以看到为什么my_device有什么不在device里面了. 估计是my_device的
device有NULL.

【在 c*****d 的大作中提到】
: 因为那50行数据的device_name是null
:
: by

c*******e
发帖数: 8624
7
not in (nulls), hahaha

【在 c***c 的大作中提到】
: 太不能理解了。
: 第一个query
: select count(*) from my_table p。得到13500。很好
: 第二个query
: select count(*) from my_table p where p.device_name in (select device_name
: from device) 到13450。正常
: 第三个query
: select count(*) from my_table p where p.device_name not in (select device_
: name from device) 。 得到 0。嗯,我那50行去哪里了?
: 目的是,有些人把错误的device_name放进来了。我需要把那些错误的device找出来修

1 (共1页)
进入Database版参与讨论
相关主题
请教一个query in mysqlA sql question
recursive query help[转载] Can anyone interpret this simple SQL?
急问Access Query问题:怎样查询最后一个非空的数值,谢谢请问这两个SQL QUERY有什么错?
how to write this query问一个转行到数据库方面的事,急求大家建议!
[Mysql] how to return NULL count in group by query (转载)a complex sql query, high hand help!!!
我也问一个sql querry的问题如何完成这个sql?
需要帮助 -- Oracle Query请教一个SQL Query
help about SQL for ACCESShelp on this query
相关话题的讨论汇总
话题: device话题: name话题: table话题: select话题: query