は、ここに私の現在のデータベース構造である:どのようにしてユーザーのテーブルから投票者の名前を取得できますか?
// users
+----+--------+
| id | name |
+----+--------+
| 1 | Jack |
| 2 | Peter |
| 3 | John |
| 4 | Barman |
| 5 | Ali |
+----+--------+
// vote
+----------+---------------+
| voter_id | owner_post_id |
+----------+---------------+
| 2 | 3 |
| 4 | 2 |
| 1 | 1 | -- people can vote to its own posts
| 5 | 2 |
| 2 | 2 |
| 3 | 2 |
+----------+---------------+
そして、この予想される出力:は、一般結果内の1つの以上の行があるはず:
+---------+-----------+----------+------------+
| user_id | user_name | voter_id | voter_name |
+---------+-----------+----------+------------+
| 2 | Peter | 4 | Barman |
| 2 | Peter | 5 | Ali |
| 2 | Peter | 3 | John |
+---------+-----------+----------+------------+
注(ユーザ2
用)このように:
| 2 | Peter | 2 | Peter |
しかし、 user_id
とvoter_id
が同じものを手に入れたいどうやってやるの?
私の現在のクエリは:
SELECT u.id, u.name, v.voter_id
FROM users u
INNER JOIN vote v
ON u.id = v.owner_post_id
WHERE u.id = 2 -- for user 2
ここで... ...はnullですか? – Strawberry
'AND user_id!= voter_id'? – JJJ
@Strawberry何ですか?私は有権者の名前を得るためにもう一つの '左参加 'が必要ですか? – stack