如果我在mysql中有两个表有相似的列...
TABLEA
id
name
somefield1
TABLEB
id
name
somefield1
somefield2
如何构造SELECT语句,以便可以同时从两个表中进行选择,并为相同的列合并结果集?
例如,我希望做一些像这样的事情。
SELECT name, somefield1 FROM TABLEA, TABLEB WHERE name="mooseburgers";
...and的名称和两个表中的somefield1列在结果集中合并在一起。
感谢您的帮助!
由于问题不清楚,因此附加了示
你好,我从Youtube教程获得了下面的代码,如果我搜索一个只存在于1列中的字符串,它就能工作。如果我将搜索合并到两个不同的列中,则不会得到任何结果。例如,如果Jack在第1列,兔子在第2列,如果我搜索"Jack兔子“,那么我根本就没有结果,如果我搜索"Jack”,那么它也适用于“兔子”。
我知道修复在下面的行中,但是当我根据这里搜索的堆栈溢出上的其他帖子更改行时,我得到了错误,因为它们的代码与我的代码有点不同。
$query = mysql_query("SELECT * FROM myTable WHERE columnOne LIKE '%$searchq
我试图查询一个数据库,以查找不同表中两列之间的相关结果,为此,我使用以下代码:
$query = "SELECT * FROM $table WHERE MATCH (TITLE) AGAINST ($description) AND ARTIST=$band ORDER BY relevance DESC";
$result = mysql_query($query);
if (!$result) {
die("Result False on line 47: $result <br>
Query:
我知道您可以在MySQL表中创建一个惟一的列,但实际上我希望比较两个列。
所以如果我有这样的记录:
Time User Table
10:00pm Fred 29
11:00am Bob 33
我可以使用time 10:00pm和table 33插入新记录,但不能插入10:00pm table 29。
我知道我可以运行一个查询,然后根据比较这两个字段得到查询的结果,取消插入新记录的能力,但是我想知道是否有更好的解决方案,可以在插入时从MySQL获得重复的输入错误,并节省几行代码。
我目前有两个视图,它们的列名相同,每个列都包含结果的一部分。我想把这些合并成第三视图。没有重复的值。这是如何在MySQL 5.6中完成的?
SELECT * FROM viewcons1
UNION
SELECT * FROM viewcons2
以上只返回一个元组,但应该返回4000+元组。
编辑我尝试了UNION,它可以工作,但是我不能将它添加到第三个视图中:
CREATE VIEW thirdview AS
SELECT * FROM viewcons1
UNION ALL
SELECT * FROM viewcons2
我正在使用Google Charts来绘制饼图。对于绘制它,数据的两列格式是必需的。这里没有给出绘制google图表的代码,因为它是未来实现的一部分。为了从数据库中获取数据,我编写了以下代码:
<?php
$con=mysql_connect("localhost","XYZ","pqrs") or die("Failed to connect with database!!!!");
mysql_select_db("LMN", $con);
$sql =" SELEC
我有这个表结构,我使用MYSQL
post` (
`post_id_pk` INT,
`title` VARCHAR(100),
`description` TEXT,
`search_content` TEXT
)
我有搜索功能。如果用户在文本框中键入文本,如果该单词包含在标题列或描述列的记录中,则应向用户显示相应的帖子。我使用这个查询来获得结果
MATCH (search_content) AGAINST (@searchQuery IN NATURAL LANGUAGE MODE)
这很好用。我想知道的是,你看到"search_content“栏了吗?我所做的是,
假设我有带有name1和name2列的表name2。这两列都有不同的索引。我运行查询
select * from clients use index (`name1_index`,`name2_index`)
where
name1='John'
or
name2='Doe'
在大表中,最好分别执行2个查询并组合结果。但是当我explain时,这个mysql8 (来自甲骨文的那个)告诉我它在使用where (比两个单独的查询花费更多的时间)
我可以想象用'union‘重写它是可能的,它可能会像预期的那样工作,但是真正的实时查
我正在执行一个子查询,其中有一个包含随机数生成的计算列。在基本查询中,我选择了该列两次。MySQL 5.6和我预期的一样工作,计算值被调用一次并固定下来。5.7+/8.0+的执行似乎重新评估了每个选择的子查询的列值。这行为正确吗?我能做些什么来强制它在新版本的MySQL中按预期工作呢?
CREATE TABLE t (
`id` BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT
) ENGINE=InnoDB;
insert into t values();
insert into t values();
insert into t value
这是我的MySQL来生成数组:
$sql_name = "SELECT * FROM ".TABLE_PREFIX."members WHERE member_id IN ($member_id) order by member_id DESC";
$result_name = mysql_query($sql_name, $db);
$name = array();
while ($row = mysql_fetch_assoc($result_name)) {
$arr1= $row['first_name'];
$arr
我绝对是PHP的初学者。我目前正在工作的Android应用程序,其中有一个PHP的网络服务。我需要获得2次执行SQL-Querys的结果,并将其转换为json。我的问题是我没有得到任何结果返回给客户,我也没有得到任何错误。我想这是因为我把结果分成了两个数组。如何将两个查询的结果保存为一个数组,从而保存为一个json响应?
代码编辑:
<?php
$host = "localhost"; // host of MySQL server
$user = "root"; // MySQL user
$pwd = ""; /
我有一个有20列的表,我使用下面的代码来获取特定电影的每个字段作为字典:
import mysql.connector
def getMovie(id):
movie = {}
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
query = ('SELECT * FROM movies WHERE id = %s') % id
cursor.execute(query)
for row in cursor:
movie['id'] = r
我需要创建一个记录摘要,这些记录在表中按名称分组。问题是,我的表有两个名称列,任何一列中都可以有相同的名称。摘要应该列出所有名称以及它们所在的记录,而不管是哪一列。
我可以这样做:首先从两个列中生成一个唯一的姓名列表,然后扫描结果,看看姓名是否出现在任何一列中。我想知道MySQL是否可以在一个查询中做到这一点。
例如,下面是我的表格:
Id ColumnA Column B
1 Bill NULL
2 NULL Dennis
3 Adam Carl
4 NULL Adam
5 Adam Bill
6 Dennis NULL
这是我的MySQL查询:
SELECT ROUND( AVG(p.votes), 2) AS 'votes', games.*
FROM games
LEFT JOIN polls p ON (p.gid = games.id)
GROUP BY games.id;
它运行得很好,但是如果polls表中没有任何关于游戏的投票-- votes字段是空的,那么在结果中--我如何替换它,这样它就会显示0 (因为在polls中有0行)。
另外:
你能说出我的病情然后用它吗。用于MySQL的计算?
这就是我的意思:
SELECT ROUND( AVG(votes), 2) AS '