sql 2008 查询语句的查询条件:in的参数使用查询语句来代替查不到数据
这里贴上语句A:SELECTITEM_NAMEFROMTLK_COLUMN_ITEMwhereIDin(SELECTitemidfromorder_userwhereor...
这里贴上语句A:
SELECT ITEM_NAME FROM TLK_COLUMN_ITEM where ID in(SELECT itemid from order_user where orderid=1)
语句B:
SELECT ITEM_NAME FROM TLK_COLUMN_ITEM where ID in('11e5-6128-9a06c887-af44-ab9df1f62cc0','11e5-6128-b2ef95a9-af44-ab9df1f62cc0','11e5-6128-b757d220-af44-ab9df1f62cc0','11e5-62a2-a6a6a0b8-af44-ab9df1f62cc0')
大家发现了吧,查询语句是一样的,只是in里面的东西不一样,一个是通过sql查,一个是直接给值,但是这两个结果是一样的:SELECT itemid from ews_order_user o where o.orderid=1查出来的值等于:
'11e5-6128-9a06c887-af44-ab9df1f62cc0','11e5-6128-b2ef95a9-af44-ab9df1f62cc0','11e5-6128-b757d220-af44-ab9df1f62cc0','11e5-62a2-a6a6a0b8-af44-ab9df1f62cc0'。
那么现在的问题是,A语句查不出数据,B语句可以查到数据,请问这是为什么? 展开
SELECT ITEM_NAME FROM TLK_COLUMN_ITEM where ID in(SELECT itemid from order_user where orderid=1)
语句B:
SELECT ITEM_NAME FROM TLK_COLUMN_ITEM where ID in('11e5-6128-9a06c887-af44-ab9df1f62cc0','11e5-6128-b2ef95a9-af44-ab9df1f62cc0','11e5-6128-b757d220-af44-ab9df1f62cc0','11e5-62a2-a6a6a0b8-af44-ab9df1f62cc0')
大家发现了吧,查询语句是一样的,只是in里面的东西不一样,一个是通过sql查,一个是直接给值,但是这两个结果是一样的:SELECT itemid from ews_order_user o where o.orderid=1查出来的值等于:
'11e5-6128-9a06c887-af44-ab9df1f62cc0','11e5-6128-b2ef95a9-af44-ab9df1f62cc0','11e5-6128-b757d220-af44-ab9df1f62cc0','11e5-62a2-a6a6a0b8-af44-ab9df1f62cc0'。
那么现在的问题是,A语句查不出数据,B语句可以查到数据,请问这是为什么? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询