我在尝试从数据库中提取数据时遇到问题。
这是我的桌面设计
我在尝试从数据库中提取数据时遇到问题。
这是我的桌面设计
user_id username
1 test
2 test2
3 test3
id table2_userid key value
1 2 position admin
2 2 name myname
user_id username key value
1 test NULL NULL
2 test2 position admin
3 test3 NULL NULL
SELECT table1.user_id, table1.username, table2.key, table2.value
FROM table1
LEFT JOIN table2 ON table1.user_id = table2.table2_userid WHERE table2.key="position"
然而,这没有回报。请帮助我。
感谢。
答案 0 :(得分:1)
尝试以下查询,它将适用于您的问题:
SELECT table1.user_id, table1.username, table2.key, table2.value FROM
table1 LEFT JOIN table2 ON table1.user_id = table2.table2_userid and
table2.key="position" group by table1.user_id
答案 1 :(得分:0)
尝试使用单引号:
SELECT table1.user_id, table1.username, table2.key, table2.value
FROM table1
LEFT JOIN table2 ON table1.user_id = table2.table2_userid WHERE table2.key = 'position'
否则您的查询对我来说似乎没问题。
我在评论中读到了这个:[S]ingle for [S]trings; [D]ouble for [D]atabase
答案 2 :(得分:0)
将您的条件从where子句移动到on子句
SELECT
t1.user_id,
t1.username,
t2.key,
t2.value
FROM table1 t1
LEFT JOIN table2 t2
ON t1.user_id = t2.table2_userid
AND t2.key="position"