Questions tagged «left-join»

左联接是一个外部联接,即使在参与联接的其他表中没有匹配的记录时,该联接也会生成包含“左”表的所有记录的结果。


10
SQL Server中左联接和右联接之间的区别
我知道SQL Server中的联接。 例如。有两个表Table1,Table2。 它们的表结构如下。 create table Table1 (id int, Name varchar (10)) create table Table2 (id int, Name varchar (10)) 表1的数据如下: Id Name ------------- 1 A 2 B 表2数据如下: Id Name ------------- 1 A 2 B 3 C 如果我同时执行下面提到的两个SQL语句,则两个输出将相同 select * from Table1 left join Table2 on Table1.id = Table2.id …

5
使用MySQL LEFT JOIN删除行
我有两个表,一个用于工作截止日期,一个用于描述工作。每个作业可以具有一个状态,某些状态表示必须从另一个表中删除作业的截止日期。 我可以轻松地SELECT通过以下方式满足我的条件的工作/最后期限LEFT JOIN: SELECT * FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno' (不status属于job表deadline) 但是,当我想从中删除这些行时deadline,MySQL会引发错误。我的查询是: DELETE FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' …

4
选择其他表中不存在的行
我有两个postgresql表: table name column names ----------- ------------------------ login_log ip | etc. ip_location ip | location | hostname | etc. 我想获取login_log没有行的每个IP地址ip_location。 我尝试了此查询,但它引发了语法错误。 SELECT login_log.ip FROM login_log WHERE NOT EXIST (SELECT ip_location.ip FROM ip_location WHERE login_log.ip = ip_location.ip) ERROR: syntax error at or near "SELECT" LINE 3: WHERE NOT EXIST (SELECT ip_location.ip` …

6
左随何处子句
我需要从设置表中检索所有默认设置,而且还需要获取字符设置(如果存在x字符)。 但是此查询仅检索其中character = 1的那些设置,而不是如果用户未设置任何人的默认设置。 SELECT `settings`.*, `character_settings`.`value` FROM (`settings`) LEFT JOIN `character_settings` ON `character_settings`.`setting_id` = `settings`.`id` WHERE `character_settings`.`character_id` = '1' 所以我应该需要这样的东西: array( '0' => array('somekey' => 'keyname', 'value' => 'thevalue'), '1' => array('somekey2' => 'keyname2'), '2' => array('somekey3' => 'keyname3') ) 其中键1和2是默认值,而键0包含带有字符值的默认值。

6
Linq to Sql:多个左外部联接
我在弄清楚如何使用LINQ to SQL使用多个左外部联接时遇到麻烦。我了解如何使用一个左外部联接。我正在使用VB.NET。以下是我的SQL语法。 T-SQL SELECT o.OrderNumber, v.VendorName, s.StatusName FROM Orders o LEFT OUTER JOIN Vendors v ON v.Id = o.VendorId LEFT OUTER JOIN Status s ON s.Id = o.StatusId WHERE o.OrderNumber >= 100000 AND o.OrderNumber <= 200000

6
左联接仅第一行
我读了许多关于仅获得左联接的第一行的主题,但是由于某种原因,这对我不起作用。 这是我的结构(当然是简化的) 提要 id | title | content ---------------------- 1 | Feed 1 | ... 艺人 artist_id | artist_name ----------------------- 1 | Artist 1 2 | Artist 2 feeds_artists rel_id | artist_id | feed_id ---------------------------- 1 | 1 | 1 2 | 2 | 1 ... 现在我想获取文章并仅加入第一位艺术家,我想到了这样的事情: SELECT * FROM …

8
LINQ to SQL:在多个列上进行多个联接。这可能吗?
鉴于: TABLE_1具有以下列的列命名的表: ID ColumnA ColumnB ColumnC 我有SQL查询,其中TABLE_1基于关闭的两次自己加入ColumnA,ColumnB,ColumnC。该查询可能看起来像这样: Select t1.ID, t2.ID, t3.ID From TABLE_1 t1 Left Join TABLE_1 t2 On t1.ColumnA = t2.ColumnA And t1.ColumnB = t2.ColumnB And t1.ColumnC = t2.ColumnC Left Join TABLE_1 t3 On t2.ColumnA = t3.ColumnA And t2.ColumnB = t3.ColumnB And t2.ColumnC = t3.ColumnC ... and query continues …


2
加入dplyr时如何指定x和y的列名?
我有两个要使用dplyr加入的数据框。一个是包含名字的数据帧。 test_data <- data.frame(first_name = c("john", "bill", "madison", "abby", "zzz"), stringsAsFactors = FALSE) 另一个数据框包含Kantrowitz名称语料库的清理版本,用于标识性别。这是一个最小的示例: kantrowitz <- structure(list(name = c("john", "bill", "madison", "abby", "thomas"), gender = c("M", "either", "M", "either", "M")), .Names = c("name", "gender"), row.names = c(NA, 5L), class = c("tbl_df", "tbl", "data.frame")) 我本质上是想test_data使用kantrowitz表从表中查找名称的性别。因为我要将其抽象为一个函数encode_gender,所以我不知道将要使用的数据集中的列的名称,因此,我不能保证它会name像那样被使用kantrowitz$name。 在基本RI中,将以这种方式执行合并: merge(test_data, kantrowitz, by.x = "first_names", …
89 r  join  left-join  dplyr 

2
SQL LEFT JOIN子查询别名
我正在运行此SQL查询: SELECT wp_woocommerce_order_items.order_id As No_Commande FROM wp_woocommerce_order_items LEFT JOIN ( SELECT meta_value As Prenom FROM wp_postmeta WHERE meta_key = '_shipping_first_name' ) AS a ON wp_woocommerce_order_items.order_id = a.post_id WHERE wp_woocommerce_order_items.order_id =2198 我得到这个错误: #1054-'on子句'中的未知列'a.post_id'。 我认为我的代码很简单,但是我做错了。我究竟做错了什么?


3
合并两个熊猫数据框(在同一列上连接)
我有2个数据框: restaurant_ids_dataframe Data columns (total 13 columns): business_id 4503 non-null values categories 4503 non-null values city 4503 non-null values full_address 4503 non-null values latitude 4503 non-null values longitude 4503 non-null values name 4503 non-null values neighborhoods 4503 non-null values open 4503 non-null values review_count 4503 non-null values stars 4503 non-null …

3
Rails ActiveRecord:以LEFT JOIN代替INNER JOIN联接
我有这个代码 User.find(:all, :limit => 10, :joins => :user_points, :select => "users.*, count(user_points.id)", :group => "user_points.user_id") 生成以下sql SELECT users.*, count(user_points.id) FROM `users` INNER JOIN `user_points` ON user_points.user_id = users.id GROUP BY user_points.user_id LIMIT 10 除了User.find_by_sql手动键入查询外,是否可以通过其他方式使LEFT JOIN代替INNER JOIN ?

4
MySQL JOIN与LEFT JOIN的区别
我有这个跨数据库查询... SELECT `DM_Server`.`Jobs`.*, `DM_Server`.servers.Description AS server, digital_inventory.params, products.products_id, products.products_pdfupload, customers.customers_firstname, customers.customers_lastname FROM `DM_Server`.`Jobs` INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf") JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50 运行良好,直到我让他们LEFT JOIN。我认为通过不指定联接类型可以认为是LEFT JOIN。不是这样吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.