我想执行一个查询,但我无法获得所需的结果。
我有两个表格( A& B ),其列tag_id
和priority
列相同。
这两个表还有其他一些列(image
& text
)。我想选择tag_id
等于给定变量的所有行,并且我想在priority
上对结果进行排序。
(列priority
对每一行都是唯一的)
我应该使用哪种查询?
提前致谢。
答案 0 :(得分:0)
试试这个
SELECT *
FROM A, B
WHERE A.tag_id = B.tag_id
AND A.tag_id = "somevalue"
ORDER BY A.priority ASC;
答案 1 :(得分:0)
我认为应该这样做:
SELECT * FROM A, B WHERE A.tag_id = B.tag_id and A.tag_id = $YourVariable ORDER BY A.priority, B.priority
答案 2 :(得分:0)
这应该有效
select *
from a
join b on b.tag_id = a.tag_id
where a.tag_id = x
order by a.priority asc
答案 3 :(得分:0)
尝试使用此查询:
SELECT A.TAG_ID, A.PRIORITY, A.TEXT, B.IMAGE
FROM A INNER JOIN B ON A.TAG_ID = B.TAG_ID
WHERE A.TAG_ID = @TAG_ID
ORDER BY A.PRIORITY
答案 4 :(得分:0)
在摆弄了一段时间后,我找到了一个解决方案。
SELECT priority, text, null AS image
FROM A
WHERE tag_id = x
UNION ALL
SELECT priority, null, image
FROM B
WHERE tag_id = x
ORDER BY priority
这样其他表所没有的字段被设置为null。
答案 5 :(得分:-1)
select tag_id, priority
from A
where tag_id = <your search value>
union all
select tag_id, priority
from B
where tag_id = <your search value>
order by 2