我想从3个表中选择一个相同的列,并从这一列中获取一行。
以下是代码:
mysql_query("SELECT * from tv,movies WHERE hash='123'");
所以现在我想要从电视和电影中调用哈希的列来从哈希数中得到结果。
确保电视中不存在哈希,然后转到电影。
答案 0 :(得分:1)
category
字段的表格。这是设计数据库的唯一正确方法。
答案 1 :(得分:0)
SELECT fieldName1 FROM table1 WHERE hash='123'
UNION
SELECT fieldName1 FROM table2 WHERE hash='123'
UNION
SELECT fieldName1 FROM table3 WHERE hash='123';
答案 2 :(得分:0)
您必须在两个表中选择相同数量的列
SELECT tvcol1 as field1,tvcol2 as field2 from tv WHERE hash='123'
UNION
SELECT moviescol1 as field1,moviescol2 as field2 from movies WHERE hash='123'
答案 3 :(得分:0)
根据您对@ Bryan的答案的评论,在行之间进行阅读,您需要tv
表中的所有列,但如果找不到,请从movies
表中选择所有列。在这种情况下,使用两个不同的查询:
$result = mysql_query("SELECT * FROM tv WHERE hash = '123'") or die( mysql_error() );
if( mysql_num_rows( $result ) == 0 ) {
$result = mysql_query("SELECT * FROM movies WHERE hash = '123'") or die( mysql_error() );
}
现在$result
包含来自tv
或movies
表的列,如果在其中任何一个中找不到散列,则为false
。