假设我有这两张桌子,
表A.
+----------+---------------------------------+
| product | categories |
+----------+---------------------------------+
| vegetable| carrots, cabbage, string beans |
+----------+---------------------------------+
| fruit | apple, oranges |
+----------+---------------------------------+
Run Code Online (Sandbox Code Playgroud)
表B.
+--------------+----+
|category |sale|
+--------------+----+
| carrots | 10 |
+--------------+----+
| cabbage | 5 |
+--------------+----+
| apple | 11 |
+--------------+----+
| string beans | 5 |
+--------------+----+
| oranges | 7 |
+--------------+----+
Run Code Online (Sandbox Code Playgroud)
我的目标是获得每件产品的总销售额.
+----------+----+
| product |sale|
+----------+----+
| vegetable| 20 |
+----------+----+
| fruit | 18 |
+----------+----+
Run Code Online (Sandbox Code Playgroud)
我认为它与此类似, …
我遇到了MySQL连接问题.
Table_A
: A_id Cost1 A1_id Cost2
1 500 0 200
1 100 1 100
1 50 2 60
1 10 3 50
2 5 0 10
Run Code Online (Sandbox Code Playgroud)
Table_B
(参考B_id
:来自Table_A
A1_id
): B_id FName LName
1 X A
2 Y B
3 Z C
Run Code Online (Sandbox Code Playgroud)
Table_C
(参考C_id
:来自Table_A
A_id
):C_id Towns
1 Atlanta
2 NewYork
Run Code Online (Sandbox Code Playgroud)
我需要组合所有三个表,如下面的输出:
Towns
那场比赛(Table_A.A_id=Table_C.C_id)
.Fname
,Lname
匹配(table_A.A1_id=Table_b.b_id)
.Towns
if A1_id != 0
.我有2个表员工(id和名称)和薪水(id,薪水),第1行有4行,第2行有2行.
table 1 Table 2
id Name id salary
1 Sue 1 10000
2 Sarah 3 9000
3 Nick
4 james
Run Code Online (Sandbox Code Playgroud)
我想要一个如下连接
id Name Salary
1 Sue 10000
2 Sarah No Salary
3 Nick 9000
4 james No salary
Run Code Online (Sandbox Code Playgroud) 我想用a做以下LEFT JOIN
(请不要建议UNION ALL
)
SELECT o.*, s.col1, s.col2 FROM order o
INNER JOIN user u ON o.user_id = u.id
IF o.date less than '2011-01-01'
JOIN subscribe s ON u.key = s.key
ELSE
JOIN subscribe s ON u.email = s.email
END IF;
Run Code Online (Sandbox Code Playgroud)
我使用以下但无法测试它.
SELECT o.*, COALESCE(s1.col1,s2.col1) AS
col1, COALESCE(s1.col2, s2.col2) AS col2
FROM order o INNER JOIN user u ON o.user_id = u.id
LEFT JOIN subscribe s1 ON
(u.key LIKE (CASE o.date >= '2011-01-01 00:00:00'
WHEN TRUE THEN …
Run Code Online (Sandbox Code Playgroud) 我有两个表,tb1(帐户,状态)和tbl2(帐户status_ex).例如
account status
0001 A
0002 CD
0003 AB
account status_ex
0001 78
0002 NULL
0003 9
Run Code Online (Sandbox Code Playgroud)
我想写一个查询来组合两个状态列,结果表应该是这样的
account status
0001 A78
0002 CD
0003 AB9
Run Code Online (Sandbox Code Playgroud)
我试过以下查询
select tb1.account,
stuff(tbl1.status, len(tbl.status)+1, len(tbl.status), tb2.status_ex) as status
from tb1 left join tb2
on tbl.account=tb2.accont
Run Code Online (Sandbox Code Playgroud)
但结果不正确,我做了什么是错的?
假设我在Java中有两个数组,我想在它们上预先形成一个完整的外连接(返回第三个数组).
我该怎么做呢?
我有两个表usr和mat,这里我试着写一个查询,其中mat假设给我结果(UID!= DID)只有来自mat表的不等值,即,)(6,'q' ,'r'),(7,'s','t')仅使用不存在,不存在或IN的连接
create table usr ( uid int, uco varchar, umo varchar);
insert into usr (uid,uco,umo) values (1,'k','l'), (2,'m','n'), (3,'o','p'), (6,'q','r'), (7,'s','t');
create table mat( did int, co varchar, mo varchar);
insert into mat (did,co,mo) values (1,'a','f'), (2,'b','g'), (3,'c','h'), (4,'d','i'), (5,'e','j');
Run Code Online (Sandbox Code Playgroud) 我有一个字符串的以下示例:
"label1, label2, label3, label4, label5"
Run Code Online (Sandbox Code Playgroud)
现在,因为这将用作初始化jquery插件的对象,所以它需要如下所示:
'label1','label2','label3','label4','label5'
Run Code Online (Sandbox Code Playgroud)
我已经设法用split(",")拆分字符串,把它变成一个数组,但是我不知道如何用单引号包装每个数组项,在哪个阶段,我将能够加入它回到字符串使用?
有任何想法吗?
解决方案可以是js only或jquery.
我在MySQL中有这个数据结构:
+-----------+-----------+--------------+
| name | barcode | factory_code |
+-----------+-----------+--------------+
| product 1 | 123456789 | |
| product 2 | 987654321 | |
| product 3 | | AAAAAAAAAAAA |
| product 4 | | BBBBBBBBBBBB |
| product 5 | 111111111 | CCCCCCCCCCCC |
+-----------+-----------+--------------+
Run Code Online (Sandbox Code Playgroud)
现在我需要生成此结果并以HTML格式显示:
+-----------+-------------------------+
| name | code |
+-----------+-------------------------+
| product 1 | 123456789 |
| product 2 | 987654321 |
| product 3 | AAAAAAAAAAAA |
| product 4 | BBBBBBBBBBBB |
| …
Run Code Online (Sandbox Code Playgroud) 我的问题是:我想显示一个包含"Customer"列的表.这是一个表格,里面有"Measures"的集合.问题是,有两种"措施".它们也在数据库表中与一个名为"type"(0和1)的列分开.
每个"度量"都属于"客户",但对于每个"度量"类型,有一种不同的方式来获得"客户"名称:
这是代码:
$select = "blablabla..., c.name as customer";
$this->db->select($select);
$this->db->from("it_measure m");
Run Code Online (Sandbox Code Playgroud)
它继续用于类型0的"Measures":
$this->db->join("it_ma ma", "m.id = ma.measure", "LEFT OUTER");
$this->db->join("it_a a", "ma.a = a.id", "LEFT OUTER");
$this->db->join("it_i i", "a.i = i.id", "LEFT OUTER");
$this->db->join("it_customer c", "i.customer = c.id", "LEFT OUTER");
Run Code Online (Sandbox Code Playgroud)
对于类型1的"度量":
$this->db->join("it_mf mf", "m.id = mf.mid", "LEFT OUTER");
$this->db->join("it_f f", "mf.fid= f.id", "LEFT OUTER");
$this->db->join("it_w w", "f.w = w.id", "LEFT OUTER");
$this->db->join("it_ga ga", "w.a = ga.id", "LEFT OUTER");
$this->db->join("it_customer c", "ga.customer = c.id", "LEFT OUTER");
Run Code Online (Sandbox Code Playgroud)
因此,当您看到我有不同的联接来获取两种类型的客户名称.两个例子中的最后一个连接是重要的.我想加入同一个表(table_customer).我如何实现它结合此查询以获得两个连接到该一个现场客户.我也尝试使用if查询:如果键入0 .. else键入1 ..但它不起作用. …
join ×10
mysql ×5
sql ×4
php ×2
codeigniter ×1
conditional ×1
java ×1
javascript ×1
jquery ×1
outer-join ×1
perl ×1
sql-server ×1
string ×1
sum ×1
t-sql ×1