2

こんにちは、MySQL と PHP は初めてです。これが初めての投稿です。ご容赦ください。1 つのテーブルから 2 つのテーブルと 2 つの行を追加しようとしています
friends

member_ID | friend_ID | status

そしてuserテーブル

member_ID | username

私がやろうとしているのは、友達リクエストのために両方のテーブルを組み合わせることですfriends.member_ID。リクエストuser.member_IDを送信friends.member_IDするuser.member_IDことです.status01

これまでのところ、クエリでこれらすべてのフィールドを表示して、この人を友達としてリクエストした人を表示するためにこれを持っています

SELECT users.member_ID, friends.member_ID, friends.friend_ID, friends.status 
FROM `users` , `friends` 
WHERE friends.status=0   
AND users.member_ID = friends.member_ID
AND friends.member_ID = users.member_ID
AND users.member_ID = 6 (this will be $_SESSION[member_ID] when I add it to php)

エイリアスを使用できることは理解していますが、少し混乱しています

助けてください、私の宿題は明日締め切りですが、やるべきことはまだたくさんあります。

ありがとう

4

2 に答える 2

3

結合してこれを試してください

 SELECT users.member_ID, friends.member_ID, friends.friend_ID, friends.status 
 FROM `users` 
 INNER JOIN `friends` 

 ON users.member_ID = friends.member_ID
 WHERE friends.status=0 
 AND users.member_ID = 6
于 2013-04-06T16:55:33.307 に答える
0

列の別名 - 列名の後に AS(/as) を使用

users.member_ID as uId, friends.member_ID as fId

テーブル エイリアス - テーブル名の後に定義

users u , friends f

テーブルのエイリアスを使用している場合は、列名を選択するときにそれらを使用できます

u.member_ID as uId, f.member_ID as fId

http://dev.mysql.com/doc/refman/4.1/en/problems-with-alias.html

SELECT u.member_ID as uId, f.member_ID as fId, f.friend_ID as ffId, f.status as fStatus
FROM `users` u 
INNER JOIN `friends` f

ON u.member_ID = f.member_ID
WHERE f.status=0 
AND u.member_ID = 6

エイリアスは、複数のテーブルから同じ名前の列を 2 つ以上選択する場合に便利ですusers.member_ID, friends.member_ID$row['member_ID']あいまいなまたは使用する必要がある代わりに、使用$row[0]/$row[1]できます$row['uID']/$row['fID']

于 2013-04-06T17:02:13.837 に答える