INNER JOIN复制并给出错误的结果

时间:2018-10-02 02:59:53

标签: php mysql join

tbl_veterinary

tbl_veterinary_client

tbl_clients

database relationship

my Search Query(which is problematic)

Juan showing is Client only

When pressing the search without any word, this will show. Showing not Juan's client

大家好,我需要有关我的搜索查询的帮助,它显示了不同的结果,并且显示了错误的结果。如您在图片上看到的。 Juan的Vet ID号为2。Juan只有1个客户端,客户端ID为20180001。您可以在tbl_veterinary_client上看到它,vet_id = 2,client_id =2018001。但是从搜索查询中搜索时。它将显示不是Juan的客户的客户,并且还会再显示Juan的客户,使它出现问题。 请先查看图片,非常感谢。

1 个答案:

答案 0 :(得分:0)

您从tbl_veterinary_client中选择,该客户端具有3行。您将在页面上查看3行。 您需要使用来自客户端表的不同字段更改sql select。例如

SELECT distinct c.client_id, c.client_first_name, c.client_last_name...
FROM tbl_clients c
INNER JOIN tbl_veteranary_client vc ON ...

或在条件中添加表tbl_veteranary_client

SELECT c.*
FROM tbl_clients c
WHERE (c.client_first_name LIKE '%$search_client%'
OR c.client_id LIKE '%{$search_client}%'
....) AND c.client_id in (SELECT client_id FROM tbl_veteranary_client  WHERE vet_id='{$vet_id}' )