2016-03-13 55 views
-1

我試圖解決一個查詢,以在服務器端搜索數據表腳本的所有參數..但在表A的字段之一,我調用表B的ID 。我需要搜索表B的描述,我試過了。運行搜索查詢內的另一個查詢,只有編號

select * from asesor 
where dni_asesor like '%"der"%' or 
apellido_paterno like '%"SOMETHING"%' or 
apellido_materno like '%"SOMETHING"%' or 
nombres like '%"SOMETHING"%' or nro_cuenta like '%"SOMETHING"%' or 
(select distinct cliente.nombre_cliente FROM cliente join asesor on cliente.id_cliente=asesor.id_cliente where nombre_cliente like '%"SOMETHING"%') 

表是:

Table: asesor 
Columns: 
id_asesor int(11) UN zerofill AI PK 
dni_asesor varchar(50) 
apellido_paterno varchar(50) 
apellido_materno varchar(50) 
nombres varchar(50) 
id_cliente int(11) 


Table: cliente 
Columns: 
id_cliente int(11) UN zerofill AI PK 
dni_cliente varchar(50) 
nombre_cliente varchar(50) 

請幫助! :D

+0

什麼是你得到 – FallAndLearn

+0

考慮提供適當的CREATE和INSERT語句錯誤,以及期望的結果 – Strawberry

+0

表:asesor 列: id_asesor INT(11)聯合國ZEROFILL AI PK dni_asesor VARCHAR(50) apellido_paterno VARCHAR(50) apellido_materno VARCHAR(50) nombres VARCHAR(50) id_cliente INT(11) 表:cliente 色譜柱: id_cliente INT(11)UN ZEROFILL AI PK dni_cliente VARCHAR(50) nombre_cliente VARCHAR(50) – EzzeOnursito

回答

1

您可以使用從asesorcliente的左連接檢查另一個表。然後,如果兩個表之間的id_cliente匹配,則nombre_cliente不會爲空,您可以測試它的值。如果沒有匹配,則nombre_cliente將爲空,並且它將在您的where子句中的條件中失敗。

我還沒有測試過,因爲我沒有你的表格,但它應該適合你。

SELECT * FROM asesor 
    LEFT JOIN (SELECT DISTINCT cliente.nombre_cliente, id_cliente FROM cliente) cliente 
    ON cliente.id_cliente=asesor.id_cliente 
WHERE dni_asesor LIKE '%"der"%' OR 
apellido_paterno LIKE '%"SOMETHING"%' OR 
apellido_materno LIKE '%"SOMETHING"%' OR 
nombres LIKE '%"SOMETHING"%' OR nro_cuenta LIKE '%"SOMETHING"%' OR 
cliente.nombre_cliente LIKE '%"SOMETHING"%' 
+0

表是... 表:asesor 列: id_asesor INT(11)聯合國ZEROFILL AI PK dni_asesor VARCHAR(50) apellido_paterno VARCHAR(50) apellido_materno VARCHAR(50) nombres VARCHAR(50) id_cliente INT(11) 表:cliente 色譜柱: id_cliente INT(11)UN ZEROFILL AI PK dni_cliente VARCHAR(50) nombre_cliente VARCHAR(50) – EzzeOnursito

+0

@ ezzeonursito你測試了我的查詢? – shamsup

+0

是的,但我沒有結果:( – EzzeOnursito