一个简单的查询SQL

peppi_2000 2003-03-09 03:14:24
SELECT * FROM PHONE_CLIENT WHERE CALL_TIME = '2003-3-6'
AND PHONE_CLIENT.CLIENT_ID ,PHONE_CLIENT.USER_ID
NOT IN (SELECT ORDERS.CLIENT_ID,ORDERS.USER_ID FROM ORDERS WHERE ORDER_DATE='2003-3-6' )

我想实现的是查表PHONE_CLIENT里的数据,条件是CALL_TIME为某日,此表内的CLIENT_ID和USER_ID在表ORDERS内没有相应的记录的数据.也就是说查表PHONE_CLIENT内ORDERS内没有的数据.
我这么写,好象不行,请问该怎么写?CLIENT_ID和USER_ID都不唯一,但它们俩和ORDERS_DATE在一起是唯一的.
...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyfu 2003-03-11
  • 打赏
  • 举报
回复
那些东西只有在了解
用途和表的结构后才可能有优化的办法啊
hanps 2003-03-11
  • 打赏
  • 举报
回复
SELECT * FROM PHONE_CLIENT WHERE CALL_TIME = '2003-3-6'
AND (pHONE_CLIENT.CLIENT_ID ,PHONE_CLIENT.USER_ID)
NOT IN (SELECT ORDERS.CLIENT_ID,ORDERS.USER_ID FROM ORDERS WHERE ORDER_DATE='2003-3-6' )

肯定对
tchatcha 2003-03-11
  • 打赏
  • 举报
回复
SELECT * FROM PHONE_CLIENT WHERE CALL_TIME = DATE'2003-3-6'
AND PHONE_CLIENT.CLIENT_ID
NOT IN (SELECT ORDERS.CLIENT_ID FROM ORDERS WHERE ORDER_DATE=DATE'2003-3-6' )
AND PHONE_CLIENT.USER_ID NOT IN (SELECT ORDERS.USER_ID FROM ORDERS WHERE ORDER_DATE=DATE'2003-3-6' )
scy_cd 2003-03-10
  • 打赏
  • 举报
回复
SQL要是这么写,如果表大查询会很慢的
lrlrlr 2003-03-10
  • 打赏
  • 举报
回复
请问换成and后报什么错?
要在什么地方用这个查询!
brook_huang 2003-03-10
  • 打赏
  • 举报
回复
SELECT * FROM PHONE_CLIENT WHERE CALL_TIME = '2003-3-6'
AND (PHONE_CLIENT.CLIENT_ID+PHONE_CLIENT.USER_ID) AS ID
NOT IN (SELECT (ORDERS.CLIENT_ID+ORDERS.USER_ID) AS ID FROM ORDERS WHERE ORDER_DATE='2003-3-6' )
peppi_2000 2003-03-10
  • 打赏
  • 举报
回复
楼上的,我试了,不行 and 有错
lrlrlr 2003-03-09
  • 打赏
  • 举报
回复
SELECT * FROM PHONE_CLIENT WHERE CALL_TIME = '2003-3-6'
AND PHONE_CLIENT.CLIENT_ID and PHONE_CLIENT.USER_ID
NOT IN (SELECT ORDERS.CLIENT_ID,ORDERS.USER_ID FROM ORDERS WHERE ORDER_DATE='2003-3-6' )

将逗号改为and,where后面不能跟逗号!

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧