我遇到了一个问题,我很难找到解决办法。我正在与MySQL合作,看看它是否适合我所工作的公司,到目前为止,我对它的能力感到非常兴奋。然而,我遇到了障碍,我希望有人可以帮助我!
我的数据库中有两个表,一个用于承包商,另一个用于贷款号码。我的承包商表中包含他们的姓名,联系方式以及他们愿意执行工作的区域等信息。这些区域由(县,州)格式化,如果有多个,则它们是这样分开的:
Anne Arundel,MD; Baltimore,MD; Calvert,MD;
但是,有些承包商愿意在整个州内开展工作。对于这种情况,还有另一列标记为状态,其格式如下:VA; OH; PA;
我的贷款表包含一个贷款编号,上面是(县,州),(但任何给定贷款只有一个条目),第三个州列是多余的,可能会被取出。< / p>
我一直在编写一个程序来管理我们所有的承包商和贷款号码,我需要能够生成一份承包商名单,这些承包商可以为任何给定的贷款号码工作。这是我到目前为止使用的查询:
SELECT first_name, last_name FROM contractors INNER JOIN loans ON contractors.county_state LIKE CONCAT('%', loans.county_state, ';%') WHERE loans.loan_number = <LOAN NUMBER GOES HERE>
这很有效,但它无法匹配覆盖整个州的承包商。如何在那里放置包含全州覆盖承包商的OR条款?
OR contractors.states LIKE CONCAT('%', loans.state, ';%')
这样的事情是可能的,还是我必须改变方向?
提前感谢您的帮助!