我的数据库中有2个表.一个是订单,一个是公司.
订单具有以下结构:
OrderID | attachedCompanyIDs
------------------------------------
1 1,2,3
2 2,4
Run Code Online (Sandbox Code Playgroud)
公司有这样的结构:
CompanyID | name
--------------------------------------
1 Company 1
2 Another Company
3 StackOverflow
4 Nothing
Run Code Online (Sandbox Code Playgroud)
要获得订单的公司名称,我可以这样查询:
SELECT name FROM orders,company
WHERE orderID = 1 AND FIND_IN_SET(companyID, attachedCompanyIDs)
Run Code Online (Sandbox Code Playgroud)
该查询工作正常,但以下查询没有.
SELECT name FROM orders,company
WHERE orderID = 1 AND companyID IN (attachedCompanyIDs)
Run Code Online (Sandbox Code Playgroud)
为什么第一个查询有效但第二个查询无效?
第一个查询返回:
name
---------------
Company 1
Another Company
StackOverflow
Run Code Online (Sandbox Code Playgroud)
第二个查询只返回:
name
---------------
Company 1
Run Code Online (Sandbox Code Playgroud)
为什么这样,为什么第一个查询返回所有公司,但第二个查询只返回第一个查询?
mysql ×1