0

私はコードイグナイターを使用しています。

2 つの mysql テーブルがあります。

私がやっていることは、最初のテーブルのすべての詳細を取得し、それを HTML ページにフィードして、すべてのユーザーが表示できるようにすることです。しかし今、最初のテーブルの列に関連する 2 番目のテーブルからいくつかの詳細を追加したいと考えています。

つまり、最初のテーブルに「Pending_on」という列があり、その列にいくつかの支店名を挿入し、2 番目のテーブルにそれらの部門の連絡先の詳細を挿入しました。

したがって、最初のテーブルの 5 行目の pending_on 列の値が「HR」である場合、人事部の電話番号を表示したいと考えています。

では、これに対するクエリをどのように記述すればよいでしょうか。

4

3 に答える 3

2

あなたの場合、ここに例があります:

entrysubscriptionという名前の 2 つのテーブルがあります。

      entry
        field1    publisherId
        field2    entry

      subscription
        field1   myId
        field2   friendId

JOINを使用できます。プレーン SQL の場合:

SELECT e.publisherId, e.entry
FROM entry e
JOIN subscription s
ON s.friendId = e.publisherId
WHERE s.myId = 1234
于 2013-10-02T10:06:29.457 に答える
1

これは私が仕事をするために使用したクエリです

MRに感謝します。Yuvvaraj Bathrabagu

$this->db->select('*'); $this->db->from('new_users'); $this->db->join('contact', 'new_users.pending_on = contact.dep','left'); $query = $this->db->get(); $data = $query->result_array();

于 2013-10-02T10:59:43.970 に答える
1

あなたの例を見てみましょう。最初のテーブルには pending_on という列名があり、2 番目のテーブルには department_name 列があります。これら 2 つのテーブルを結合するための以下のコードを見つけます。

$this->db->select('firsttable.*,secondtable.contact_details');
$this->db->from('firsttable');
$this->db->join('secondtable', 'firsttable.pending_on = secondtable.department_name','left');
$query = $this->db->get();

したがって、2 番目のテーブルの department_name と最初のテーブルの pending_on は、「HR」と同じ値を持つ必要があります。そして私の提案は、部門名の代わりにテーブルのIDを参照として持つことです。お役に立てれば。

于 2013-10-02T10:21:07.517 に答える