0

以下のシナリオを検討してください

ユーザーのようなSQLテーブルに2つのテーブルがあります

 +----+-----------+------------+-------------+-----------+----------+------+-------------+-------------+-----------+-----------+---------+------------+--------+-----------+--------+----------------+------------------+------------------+--------------------+--------------------------+-----------------+-------+--------------+---------------+
    | id | user_name | first_name | middle_name | last_name | password | role | org_name_id | timezone_id | city      | state     | country | street     | pin    | user_type | status | primary_mobile | secondary_mobile | primary_landline | secondary_landline | primary_email            | secondary_email | notes | date_created | date_modified |
    +----+-----------+------------+-------------+-----------+----------+------+-------------+-------------+-----------+-----------+---------+------------+--------+-----------+--------+----------------+------------------+------------------+--------------------+--------------------------+-----------------+-------+--------------+---------------+
    |  1 | Vivek     | vicky      | singh       | baghel    | 12345    |      |           1 |           1 | Gwalio    | Mp        | iNDIA   | Belly Road | 47001  |           |   NULL | 65677     | 68990       | 678888897       | 67678         | vickysingh@gmail.com | hi@viv.com      |       | NULL         | NULL          |

2つ目は次のような会議テーブルです

| id | name        | meetingID     | meeting_type | status | recurring_time | attendee_passwd | moderator_passwd | date_created        | timezone | meeting_datetime    | reminder | duration | created_by_id | sms_no | conferenceID | meeting_logout_url | max_participants | participants_id |
+----+-------------+---------------+--------------+--------+----------------+-----------------+------------------+---------------------+----------+---------------------+----------+----------+---------------+--------+--------------+--------------------+------------------+-----------------+
|  1 | New Meeting | REG_892983853 |              |   NULL |                | 23303           | 94842            | 0000-00-00 00:00:00 | GMT  10  | 2012-08-08 12:00:00 |        0 | 60       |             1 |    123 |         NULL | http://lov.com     |               20 |            NULL |
|  2 | Before3     | REG_860806066 |              |   NULL |                | 95390           | 28030            | 0000-00-00 00:00:00 | GMT  10  | 2012-08-08 03:00:00 |        0 | 60       |             1 |    123 |         NULL | http://lov.com     |               20 |            NULL |

user_nameに沿って会議の詳細を取得しようとしているので、次のようなクエリを作成しています

$get_meetingsql = "SELECT u.user_name from demo_user inner join demo_meeting m on m.created_by_id= u.id";

残念ながら、上記のクエリは私には機能しません。助けてください

4

4 に答える 4

2
 $get_meetingsql = "SELECT u.user_name
                    from User u
                    inner join demo_meeting m on m.created_by = u.id
                    WHERE meeting_id = '$meetingid'";
于 2012-08-08T11:49:13.460 に答える
1

created_by.user_name <-- それは正確にはどの列ですか? 表記法は、次のことを意味します: テーブル created_by、そのテーブル内の user_name という名前の列。

また、その後に追加の .

=====================================

アップデート

あなたが持っている:

[悪いクエリ] SELECT u.user_name from demo_user inner join demo_meeting m on m.created_by_id= u.id

しかし、あなたは何ですか?それは単なるエイリアスですが、あなたは何のために教えていませんでした. 説明で User という名前のテーブルを意味していたと思います (ただし、demo_user と呼ばれているのは他のクエリです。そのようなことでだらしのないようにしてください...)

だから私はあなたがこのようなものが欲しいと思っています:

[良いクエリ] SELECT u.user_name from demo_user as u inner join demo_meeting m on m.created_by_id= u.id

重要な注意: demo_user を u にエイリアスしたことを参照してください。これは単に、demo_user の代わりに u を使用できることを意味します。

したがって、次と同じです。

[良いクエリ] SELECT QXZY.user_name from demo_user as QXZY inner join demo_meeting m on m.created_by_id= QXZY.id

ご覧のとおり、ばかげた「QXZY」は単なる名前であり、クエリ内のエイリアスです。

それが気に入らない場合は、代わりにテーブルに名前を付けてください。(同じテーブルを 2 回必要とする、より複雑なクエリの場合、これでは十分ではありません。しかし、今は忘れてください。)

一般的に: 理解できない構文は使用しないでください。決してそうではありません。ネットや教科書で調べてみてください。

于 2012-08-08T11:50:03.023 に答える
0

そのSQLはゴミです。「created_by.user_name、from」を参照してください-「created_by」はテーブルですか、PHPオブジェクトですか? また、末尾にコンマ「,from」があります。

于 2012-08-08T11:50:31.107 に答える
0

SQL をコピーし、最初に phpmyadmin で php 変数を代入して実行してみます。これは、クエリをデバッグする最良の方法です。

于 2012-08-08T11:50:49.500 に答える