- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设,我的表中有一个 MySQL 列,其中包含以下数据
1,2,3
。实际上,这些是另一个表的primary_key
。现在,让我说说我想做的事情。
我想使用逗号 (,)
分解这些内容,并希望创建一个子查询
以从另一个表中获取信息。
我这里给出两个表格数据,希望能帮助你正确理解..
表A
------------------------------------
| col1 | col2 | col3 |
------------------------------------
| 1 | Sam | 50 |
------------------------------------
| 2 | Zor | 55 |
------------------------------------
| 3 | Sad | 40 |
------------------------------------
表B
--------------------------------
| col1 | idFromTableA |
--------------------------------
| 1 | 1,3 |
--------------------------------
| 2 | 1,2 |
--------------------------------
| 3 | 1,2,3 |
--------------------------------
现在,我正在从 tableB
进行查询。就像下面的查询一样-
从表B中选择*
我想使用 idFromTableA
从 tableA
中选取 col2
。我知道 GROUP_CONCAT
但我无法理解。
如何使用存储在名为 idFromTableA
的 tableB
中的 id
来选择 col2
值?我想要分解 idFromTableA
的值,并希望创建一个子查询来从 tableA
获取值。我可以用这个逻辑实现这个目标吗?
根据 @Phil 的建议,我正在创建另一个表并存储数据,如下所示 - 可以吗?
mysql> select * from bb_user_branches;
+-------+---------+-----------+
| ub_id | user_id | branch_id |
+-------+---------+-----------+
| 1 | 5 | 1 |
| 2 | 5 | 29 |
+-------+---------+-----------+
2 rows in set (0.00 sec)
最佳答案
创建一个连接表以促进多对多关系,例如
CREATE TABLE `tableA_B` (
a_col1 INT NOT NULL, -- or whatever the data type is for the foreign key
b_col2 INT NOT NULL,
PRIMARY KEY (a_col1, b_col1),
FOREIGN KEY (a_col1) REFERENCES tableA (col1),
FOREIGN KEY (b_col1) REFERENCES tableB (col1)
) ENGINE=InnoDB;
然后您可以插入相关数据
INSERT INTO tableA_B (a_col1, b_col1) VALUES
(1, 1), (3, 1),
(1, 2), (2, 2),
(1, 3), (2, 3), (3, 3);
然后您可以执行您的选择...
SELECT b.col1, a.col2
FROM tableB b
INNER JOIN tableA_B ab ON b.col1 = ab.b_col1
INNER JOIN tableA a ON ab.a_col1 = a.col1;
(可选)从 tableB
中删除 idFromTableA
列...
ALTER TABLE `tableB` DROP COLUMN `idFromTableA`;
您可能想要尝试将逗号分隔值迁移到联结表中,而不是使用上面的 INSERT
语句。您可能希望使用可编程客户端界面(例如 PHP + PDO/mysqli)来执行此操作。
关于php - MySQL 相当于 PHP Explode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23125388/
一个很简单的问题。我有一个要在 JBoss 上运行的 .war(~40MB) 文件。部署的最佳实践是什么:war 文件应该以分解格式部署吗?还是不行? 我问是因为如果它爆炸了,那么我可以选择随时更新我
转到 http://hartford.uconn.edu/scholarships/单击任何名称,然后单击“关闭”按钮,这将显示在“展开”时字体从默认的“Trebuchet MS/Trebuchet”
我正在将Json数据插入Hive。这是格式- A1 Array > dim2 array >
我正在制作一个可以在本地服务器上运行的 java 程序。 服务器使用 PHP 从客户端接收请求。 现在我在本地服务器上有文件“temp.txt”。 Java 程序应该逐行打开文件,每行都应该用
Crashlytics 报告了多次崩溃并显示以下消息: function signature specialization 这个异常首先意味着什么? 这是我的代码,在闭包内的“return resu
array ( [0] => 3 / 4 Bananas [1] => 1 / 7 Apples [2] => 3 / 3 Kiwis ) 可以说,遍历此列表,并
我正在优化我的网站。在本地测试了页面,一切正常。当我上传它并实时访问它时,它会突然抛出一个解析错误……但它在本地完美运行,就像我说的那样。 Parse error: syntax error, un
这个问题在这里已经有了答案: How to split a string by multiple delimiters in PHP? (4 个回答) 关闭 8 个月前。 我有一个问题,我有一个字符串
我希望能够在 explode 后得到剩余的字符串。 $string = "First Middle Last"; $d = explode(" ", $string); print_r($d); Ou
我正在尝试从字符串中获取一个简单的数组。 Ej。 [位置] => ???? [标题] => ??? [音调] => ??? [缩放] => ??? 但由于某种原因,我收到以下错误: Notice: U
如何在分隔符“[”之间分解字符串,但我希望分隔符不会丢失 例如,我有这样的字符串 $str = "i want to show you my youtube channel : [youtube id
请帮我解决这个 explode() 函数问题。对于第三种情况,我得到了意想不到的结果,解释是什么? 编辑: $page_string 值实际上来自数据库。这次我使用 var_dump 而不是 echo
我正在制作一个电子商务网站。我在测试时遇到了以下问题: 从管理面板更新订单状态(处理中、发货、已完成和已取消)不适用于 1 种产品。 当从数据库中检索值时,Explode 会删除最后一个字符。 如果订
好吧,首先,如果之前有人问过这个问题,我很抱歉,我在过去的 12 个小时里筛选了数百个论坛主题,但还没有找到能准确回答这个问题的主题,所以这里开始吧。 我有一个我构建的页面,它有一个用户列表,当用户登
我有一个表,其中有一个包含以下记录的字段: 1,2,3,4,5,6 我想请教以下两件事: 1)如何在另一个表中创建外键?规则是:对于字段“field_name”中以逗号分隔的任何值,必须是 other
我只是对如何分解字符串以单独插入数据库感到困惑。 我的代码: $mymotives = "Entrega de Documentos, Orientacion, Username y Password
我们有这个字符串:“Il Responsabile della Sicurezza nelle gallerie – 1° PARTE”,我们想要得到它的两个部分: Il Responsabile d
我有一个函数 symbol_scan(integer) 返回一个包含三列的表:schema, table, count。 我可以像这样对其执行选择查询: > SELECT name, symbol_s
嗨,实际上,当我执行代码时,我得到一个输出,它将被吐出在 echo 语句中,但如果我将 echo 放入文本区域,我只能从数据库中获取字符串的最后一个值 $sql = mysqli_query(
我正在尝试构建一个 PHP 代码来检测类似 Twitter 的提及,但我不是链接到 @username,而是定位用户的 ID 并引用它。 function get_user_id_from_usern
我是一名优秀的程序员,十分优秀!