MySQL从2个表中选择*WHERE column='value'
编辑2: 我喜欢从两个表中获取所有值,其中highlight的值为='1' highligh是两个表中的一列。两个表都有独特的结构 我想从突出显示为class='1'的两个表中获取所有数据MySQL从2个表中选择*WHERE column='value',mysql,join,Mysql,Join,编辑2: 我喜欢从两个表中获取所有值,其中highlight的值为='1' highligh是两个表中的一列。两个表都有独特的结构 我想从突出显示为class='1'的两个表中获取所有数据 SELECT * FROM painting, instaview WHERE highlight='1' …两者都给了我以下错误: where子句中的“突出显示”列不明确 我搜索了很多,发现了很多关于这个错误的信息,但是只有复杂的连接原因与我的情况不同。我知道该列在两个表中,但我希望这两个表查询的结果合
SELECT * FROM painting, instaview WHERE highlight='1'
…两者都给了我以下错误:
where子句中的“突出显示”列不明确
我搜索了很多,发现了很多关于这个错误的信息,但是只有复杂的连接原因与我的情况不同。我知道该列在两个表中,但我希望这两个表查询的结果合并在一起
编辑1:
根据要求,两个表的结构如下:
Column Type Comment
id int(6) Auto Increment
category varchar(3)
filename varchar(30)
title varchar(200)
material varchar(200)
year varchar(4)
highlight tinyint(1)
active tinyint(1)
您需要说明从哪个表查询高亮显示 你能这样试试吗
SELECT * FROM painting JOIN instaview ON painting.highlight='1'
我不知道是否符合条件,但这将我的数据合并到了更多的列中,我只想要两个表的结果。经过更多的搜索,我找到了关键字:UNION
SELECT * FROM painting WHERE highlight=1
UNION
SELECT * FROM instaview WHERE highlight=1
这就成功了!
我想为我的问题不太清楚而道歉,对我来说这是全新的如果你想在两个表中突出显示class='1',而不想指定一个表,你可以使用
SELECT *
FROM painting
JOIN instaview USING (highlight)
WHERE highlight='1'
使用中使用的字段是组合的,不需要表名限定
注:这是一种不好的做法-当整个查询源中有多个表时,为所有字段指定表名,即使某些字段名在数据源中是唯一的-它只存在于一个表中。限定两个表中存在的列名。如果查询中的多个表中出现一个列名,您必须使用表名或别名(如painting.highlight和instaview.highlight)或相应的别名来限定它们。除此之外,你的问题还不清楚。它提供了一个,即模式作为CREATE TABLE语句,样本数据作为INSERT语句,所需结果与该样本数据为表格文本。不要使用截图或任何其他图片。我发现我的问题非常复杂。我是mySQL新手。我不需要使用JOIN,但我需要UNION。问题现在已解决。这将合并两个表的所有结果。我想要的只是每两个表中高亮显示为class='1'的行。我不知道“qualify”列名,因为我对MySQL非常陌生。但我找到了缺失的部分:联盟!