0

このクエリを作成するのは簡単ですが、正確なクエリを構成することはできません。これまで読んだ内容に基づいて、解決策には 2 つのテーブルの結合が含まれる場合があります。ここに問題があります:

TABLE_ONE {S_NO, DK_NO, FRM , DATE}

TABLE_TWO {S_NO, DK_NO , TO}

TOフィールドまたはFRMフィールドのTABLE_ONE入力値とチェック値からレコードを選択したいDK_NOTABLE_TWOTABLE_ONE

これまでに失敗した試行:

1)

$sql = "select * from TABLE_ONE where DK_NO like '%".$dkno."%' and (FRM='".$department."' or  (TABLE_TWO.DK_NO like '%".$dakno."%' and TABLE_TWO.TO='".$department."'))";

2)

$sql = "select * from TABLE_ONE where DK_NO like '%".$dkno."%' and (FRM='".$department."' or   TABLE_TWO.TO='".$department."')";
4

2 に答える 2

1

推奨される読み方: JOIN .

内部結合の使用:

"select t1.* 
from table_one t1 inner join table_two t2 on t1.dk_no = t2.dk_no
where (t1.frm = '". $department. "' or t2.to = '".$department. "') 
    and t1.dk_no like '%" . $dkno . "%'";
于 2013-08-28T20:48:25.980 に答える
1

テーブルに参加する必要があります。次のようなものを試してください -

SELECT
    T1.*
FROM
    TABLE_ONE T1
JOIN
    TABLE_TWO T2
ON
    T1.DK_NO = T2.DK_NO
WHERE
    T1.DK_NO like '%".$dkno."%' 
AND
    (T1.FRM='".$department."' OR TABLE_TWO.TO='".$department."')
于 2013-08-28T21:34:04.173 に答える